Tartalomjegyzék:
- 1. lépés: Egyszerű hardver
- 2. lépés: A vázlatok
- 3. lépés: Az Eric vázlata
- 4. lépés: A PHP kód
- 5. lépés: A videók és további információ az ISS -ről és a sonkáról
- 6. lépés: Utolsó gondolatok…
Videó: Egyszerű ISS értesítési rendszer: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Mi a Nemzetközi Űrállomás és miért akarja megjósolni, hol van?
Az első kérdés megválaszolásához keresse meg a NASA honlapját. Ami röviden:
A Nemzetközi Űrállomás egy nagy űrhajó. A Föld körül kering. Ez egy otthon, ahol űrhajósok élnek. Az űrállomás tudományos laboratórium is. Sok ország közösen dolgozott a felépítésén. Együtt dolgoznak a használaton is. Az űrállomás sok darabból áll. A darabokat űrhajósok állították össze az űrben. Az űrállomás pályája körülbelül 220 mérföldnyire van a Föld felett. A NASA az állomást használja az űrben való élet és munka megismerésére. Ezek a leckék segítik a NASA -t az űr felfedezésében.
www.nasa.gov/audience/forstudents/k-4/stor…
A második kérdésre kicsit nehezebb válaszolni - De megpróbálom.
Amatőr rádiós vagyok (vagy Ham Radio Operator) - az egyik dolog, amit mindig szórakoztatónak találtam, az volt, hogy egy kis teljesítményű kézi (5 watt vagy kevesebb) rádiót használtam és kommunikáltam a keringő műholdakkal. Az ISS fedélzetén rádióberendezések vannak.
A sonka napjaim elején elég sokat szoktam kommunikálni a műholdakkal, sőt csak a gumi kacsa antennával is felveszek néhány kapcsolatot - ez nagyon nehéz dolog. Néhány kapcsolatot létesítettem az ISS -el az APRS (automatikus csomagjelentési rendszer) segítségével. Ez 2013 -ban volt - régen, azóta nagyon inaktív vagyok. Ez valami, amit vissza akartam szerezni hozzád.
2013 -ban írtam pár PHP szkriptet a parancssorhoz, amelyek megmondják az ISS helyét, és segítenek megjósolni, mikor lesz fej felett. Akkoriban villogó botot használtam, és az ISS közeledtével megváltoztatta a színét. A https://open-notify.org webhelyen végzett munkának és az API-jának köszönhetően nagyon könnyű volt ezeket elkészíteni.
2018 - 5 évvel később végre átalakítottam ezeket a PHP -ket Arduino C -re (valójában nagyon könnyű volt megtenni.)
A projektem egy D-Duino-t használ (ami valójában egy NodeMCU egy OLED-el a fedélzeten), ennyi az egész.
Még mindig ugyanazt az API-t használom:
Írtam néhány kódot a D1 Mini és a WS2812 Shield használatához is (erről lásd Eric Supervisor projektemet).
1. lépés: Egyszerű hardver
D-Duino (NodeMCU)
www.aliexpress.com/item/NodeMCU-CP2102-ESP…
Ez az, ez minden, ami szükséges. Természetesen használhat más hardvert is - ennek minden ESP8266 eszközön működnie kell, amely képes I2C OLED -et használni. A D-Duino többnyire NodeMCU, az OLED hozzáadásával.
A kód megtalálható:
Az ESP8266 táblákat telepítenie kell az Arduino IDE -be. Az utasításokat itt találja:
(a legegyszerűbb módszer a táblák kezelője)
Szüksége lesz néhány könyvtárra is - azt hiszem, ezek mind megtalálhatók a könyvtárkezelőben (de ebben nem vagyok 100% -ig biztos).
Szükséges könyvtárak: ArduinoJson.h
Adafruit_NeoPixel
WifiManager.h
TimeLib.h
esp8266-oled-ssd1306
(Nem tudom, honnan szereztem be a TImeLib -et, és talán benne van az Arduino IDE -ben?)
Ezek telepítésének legegyszerűbb módja a könyvtárkezelő. Ha nem, kövesse az egyes könyvtárakban található utasításokat.
2. lépés: A vázlatok
Jelenleg két vázlat és három PHP -szkript található a github -tárban.
DDuino_ISS_notification, amelyet felülről kell használni a D-Duino hardverrel.
És az EricISSnotification, amely a korábbi "Supervisor Eric" -et használja a "People of Earth" című műsorból. (Erről később bővebben)
Mindkét vázlatban a 30. sor közelében (vagy valahol nagyon közel hozzá) - Látni fog néhány úszóváltozót, mylat és mylon. Ezt a két sort módosítania kell a szélességi és hosszúsági fokokkal - ha nem ismeri szélességét és hosszúságát, használhatja ezt a webhelyet https://www.latlong.net A város központja rendben kell legyen. Ennek nem kell egyeznie a kiszámított szélességi vagy hosszúsági fokokkal. A vázlatok kerekítést végeznek, és más matematikákat használnak, hogy közelítsék az ISS távolságát az USA mérföldjeiben.
Úgy gondolom, hogy ez az egyetlen dolog, amin változtatni kell a vázlatokban.
A távolság kiszámításának matematikája a két kör közötti nagykörű távolságon alapul, és a hivatalos itt található-https://www.movable-type.co.uk/scripts/latlong.htm…
Ez az oldal sok információt nyújt a két szélességi és hosszúsági távolság, valamint a csapágy kiszámításának módjáról. Ehhez nem használunk csapágyszámításokat.
Ahhoz, hogy a formális működjön, szükségünk van egy thétára, és bizonyos fokot sugárzóvá, és fordítva, sugárzóvá fokozattá kell alakítani. Mivel az Arduino nem olyan jól matekozik, kicsit segítenünk kell a konverziókban.
void getDistance () {
lebeg téta, dist, mérföld;
théta = mylon - isslon;
dist = sin (deg2rad (mylat)) * sin (deg2rad (isslat)) + cos (deg2rad (mylat)) * cos (deg2rad (isslat)) * cos (deg2rad (theta));
dist = acos (dist); dist = rad2deg (dist);
mérföld = dist * 60 * 1,1515;
távolság = mérföld;
}
float deg2rad (float n) {
úszó radián = (n * 71)/4068;
visszatérő radián;
}
float rad2deg (float n) {
lebegési fok = (n*4068)/71;
visszatérési fok;
}
A matematika nagy része a 127. vonal közelében történik - HA más távolságot szeretne (mondjuk KM vagy Tengeri mérföld)
módosíthatja a "mérföld = dist * 60 * 1,1515;" vonal.
A KM számára ez valami ilyesmi lenne: "mérföld = (dist*60*1.1515)*1.609344;"
A tengeri mérföldeknél valami ilyesmi: "mérföld = (dist*60*1,1515)*0,8684;"
Valószínűleg módosítani szeretné a soros nyomtatási sort és az OLED kijelző vonalát is, amelyek mérföldeket mondanak az új méréshez.
Ami a DDuino_ISS_notification vázlat 86. és 96. sora.
3. lépés: Az Eric vázlata
Eric felügyelő mesterséges intelligencia vagy idegen a TBS TV People of Earth -től. Kérjük, tekintse meg a másik utasításomat az építésemről.
Ennek az értesítési rendszernek a legalapvetőbb elemei egy D1 Mini és a WS2812 pajzs - ha szép dobozban, szép lencsével rendelkezik, jól néz ki.
Ismétlem, minden ESP8266 -nak WS2812 képponttal működnie kell, itt valóban nem történik varázslat - A WS2812 pajzs a D2 mini -hez van csatlakoztatva a D2 -hez (ami szerintem a NodeMCU táblák 4. csapja, és talán más ESP8266 táblák).
A vázlathoz:
A fentiekhez hasonlóan meg kell változtatnia a szélességét és hosszúságát a vázlatban a 27. vonal közelében. És mint a fenti, a vázlat kiszámítja a szélességi és hosszúsági távolságokat is. A fenti vázlattal ellentétben ez a kijelző csak a WS2812 Neopixel LED -del rendelkezik.
A matematika a 96. sor közelében van, de egyébként ugyanaz, mint fent. Még mindig van soros kimenet, ha látni szeretné, mi történik. Ez a vázlat csak az ISS hely- és távolságszámításait végzi el - nem teszi meg az előrejelzéseket vagy azt, hogy hány ember tartózkodik az űrben.
* Meg kell jegyezni, hogy a távolság itt mérföld, ez tetszés szerint megváltoztatható, de még néhány változtatást kell végrehajtania az egységeken. *
A 116 -os vonal közelében:
void setColor () {
if (távolság = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}
if (távolság = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // számomra sárgábbnak tűnik
if (távolság = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // számomra zöld/sárga
if (távolság <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}
if (távolság> = 1351) {colorDisplay (strip. Color (0, 0, 0), p);}
}
Az egységek mérföldben vannak megadva, és ha KM -re vagy NM -re kell váltania, akkor ezeket a sorokat is meg kell változtatnia.
Mi folyik itt te A LED PIROS színűre vált - ez egy fejjel felfelé - az ISS közeledik.
Rövid idő elteltével, vagy ha az ISS 1150 és 1200 mérföld között van, a LED narancssárgára vált - ez valóban sárgábbnak tűnik, de támogatja a narancssárgát. - 1150 mérföldnél sokkal többet kell hallania - a kétirányú kommunikáció valószínűleg még mindig nem lesz lehetséges egy 5 wattos HT -n.
950 és 1150 mérföld között - A LED -nek sárgára kell válnia - jó esélye van a kapcsolatfelvételre - még mindig nem nagyszerű, de legalább lehetséges ezen a ponton (a sárga zöldebbnek tűnik nekem, mint a sárga - tehát valami más működik tovább)
950 mérföld alatt a LED folyamatos ZÖLD színű lesz - és kétirányú érintkezőket lehet létrehozni.
Amint az ISS eltávolodik a LED -től, zöldről sárgára narancsról pirosra, majd végül KI állapotba kerül.
Meg kell jegyezni, hogy mindez nagyon gyorsan történik - a legtöbb passz az én területemen 10 perc alatt tart, és a normál használható érintkezési idő 5 perc alatt van.
Azt is meg kell jegyezni, hogy az ISS megváltoztathatja a helyét, és hogy az API frissítésre kerülhet, vagy nem, tehát ha zöld jelzőfénye is van, előfordulhat, hogy nem hall semmit.
** Az amatőr felszerelés futtatása opcionális és önkéntes is, és miközben megpróbálják futtatni a berendezést, van idő, amikor le kell kapcsolniuk az áramellátás miatt, vagy a tennivalóik miatt. Mindig jó ötlet ellenőrizni az AMsat vagy az ARISS webhelyeket **
4. lépés: A PHP kód
A github tárolóba felvettem a 2013 -as PHP kódomat.
A kódot úgy tervezték, hogy a CLI -ből (vagy parancssorból) fusson. Régóta írtam ezeket, de azt hiszem, az egyetlen követelmény az volt, hogy engedélyezzék a JSON kiterjesztéseket.
A szkriptek továbbra is működnek, és ha szeretné futtatni őket, bátran tegye meg!
Windows felhasználók számára itt talál információkat a PHP telepítéséről
Feltétlenül telepítse a CLI verziót. Szerintem telepítéskor kiválaszthatja, hogy mely bővítményeket szeretné bekapcsolni.
A Linux -felhasználók a disztrójától - Ubuntu -alapú disztribúciót használok - és a synaptic -tól függnek a csomagkezelőm.
A php7.0-common, php7.0-json, php7.0-cli, php7.0-curl programokat szeretné használni
Nem hiszem, hogy a CURL -t használtam ezekkel, így lehet, hogy nem lesz szüksége erre. A többit megtalálhatja a választott csomagkezelőben vagy a https://php.net webhelyen.
A szkriptek közül kettőt szerkeszteni kell a szélességi és hosszúsági fokokkal - ezek nem túl hosszúak, és a módosítandó a szkript tetején található. Ezek az iss-location.php és az iss-pass-api.php
Az iss -location.php -ben a régi villogó bot hívásai maradtak - már nem biztos, hogy ezek működnek -, de láthatod, hogy a LED -et nagyjából ugyanúgy változtattam, mint az "Eric Notification" -nél. Nem hiszem, hogy problémát okoznak, de érdemes megjegyzést fűzni hozzájuk.
Az iss-pass-api.php a korszak idejét használja, és megadja a helyi időt az előre jelzett áthaladásokról. Őszintén szólva a szkript PHP verzióját részesítem előnyben a DDuino verzióhoz képest (amely jelenleg csak az UTC előrejelzéseket teszi)
A PHP verzió is szebb megjelenítésre van formázva - de ez valóban apróság.
Az utolsó PHP szkript az iss -people.php - és megjeleníti a neveket és az űrhajókat. Ez minden. (És ez az információ nem gyakran változik)
A PHP parancsfájl parancssorból történő futtatásának alapjai a következők:
$ php iss-people.php
A PHP fájlok szöveges fájlok, és bármilyen szövegszerkesztővel megnyithatók. Windows felhasználók Azt hiszem, ezeket elmentettem, így vonal- és kocsi -visszatéréssel is rendelkeznek. HA nem https://www.editpadlite.com/ működhet náluk.
5. lépés: A videók és további információ az ISS -ről és a sonkáról
Sonka-engedély megszerzése az Egyesült Államokban:
Nem az USA -ban? Minden országnak megvannak a maga szabályai és licenc útmutatói - ellenőrizze, ki irányítja a kommunikációt (itt az Egyesült Államokban ez az FCC Federal Communications Commision)
Számítsa ki a szélességi és hosszúsági pontok közötti távolságot, csapágyat és egyebeket.
Ezt sokkal nehezebb lett volna elkészíteni az Open Notify nagyon hasznos API -k nélkül
Hogyan lehet látni az űrállomást a földről.
AMSAT rádióamatőr műhold
AMSAT információ az ISS rádiójában
ARISS amatőr rádió a Nemzetközi Űrállomáson
ISS Fan Club - ISS Frekvenciák
Wikipédia -bejegyzés az APRS -en
APRS.org
6. lépés: Utolsó gondolatok…
Ez egy szórakoztató projekt volt, nagyon egyszerű hardverrel.
Van néhány dolog, amin szeretnék változtatni, de összességében nagyon elégedett vagyok az eredménnyel.
Amit változtatni kell:
1) Találjon ki egy módot arra, hogy helyi idő szerint előrejelzéseket adjon át, ne UTC -n
2) Keressen jobb színkódokat a narancs és a sárga számára.
3) Frissítés, hogy működjön az ESP32 X-kártyával, OLED és 4 neopixellel.
Ha ezt vagy bármelyik projektemet hasznosnak vagy élvezetesnek találja, kérjük, támogasson engem.
Bármi, amit kapok, több alkatrész vásárlása és több/jobb projekt megvalósítása.
www.patreon.com/kd8bxp
ko-fi.com/lfmiller
Ajánlott:
ForgetMeNot - Intelligens otthon értesítési platform: 14 lépés (képekkel)
ForgetMeNot - Intelligens otthon értesítési platform: Elfoglalt egyetemistákként, az órák, munkahelyek és családi kötelezettségek között rohangálva hajlamosak vagyunk elfelejteni az apróságokat. A születésnap úgy jön és megy, hogy észre sem vesszük, egy fontos határidő elmúlik a feledékenység miatt, és néha
IoT alapú mosodai értesítési rendszer: 18 lépés
IoT -alapú mosodai értesítési rendszer: A HiThis utasítás lépésről lépésre bemutatja, hogyan kell felépíteni az IoT -alapú mosodai értesítési rendszert. Az eszköz a fiókjában és a ruhatáskájában található. A bemutató kedvéért két fiókot és egy mosószatyrot vettünk. Érzékeli
Az 1930 -as évek Kodak Pi értesítési lámpája: 6 lépés (képekkel)
Az 1930 -as évek Kodak Pi értesítési lámpája: Ez az 1930 -as évek Kodak Table Viewer programja, amelyet az értesítések és figyelmeztetések megjelenítéséhez igazítottam, élénk színek segítségével. A fényforrás egy Unicorn pHAT, a fényes LED -ek programozható mátrixa, és ezt egy Raspberry Pi Zero W vezérli, amely
Automatikus kávé értesítési rendszer: 7 lépés (képekkel)
Automatikus kávéértesítési rendszer: Ebben a projektben intelligensvé teszem az irodai kávéfőzőt, egy olyan kávériasztó rendszer kiépítésével, amely Slack értesítéseket küld, amikor valaki friss kávét főz. A kód megváltoztatható e -mail vagy szöveges üzenet küldésére. Ez a projekt egy R
Értesítési zászló - Nagyszerű bevezetés a Wi -Fi -hez, IFTTT és Huzzah ESP8266: 9 lépés (képekkel)
Értesítési zászló - Nagyszerű bevezetés a Wi -Fi -hez, IFTTT és Huzzah ESP8266: Mindig hiányoznak a fontos dolgok … ezért létrehoztam a Flag -ot. A dolgok internete (IoT) eszköz, amely értesíti vagy emlékeztet engem ezekre a fontos dolgokra! Most egy gyors pillantást vetve az asztalomra látom, hogy … van -e egy e -mail címem, amelyet egy twe -ben említettem