Tartalomjegyzék:

Egyszerű ISS értesítési rendszer: 6 lépés (képekkel)
Egyszerű ISS értesítési rendszer: 6 lépés (képekkel)

Videó: Egyszerű ISS értesítési rendszer: 6 lépés (képekkel)

Videó: Egyszerű ISS értesítési rendszer: 6 lépés (képekkel)
Videó: Освоение устранения неполадок приложений Windows: раскрытие процессов и потоков 2024, November
Anonim
Egyszerű ISS értesítési rendszer
Egyszerű ISS értesítési rendszer
Egyszerű ISS értesítési rendszer
Egyszerű ISS értesítési rendszer

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

Egyszerű hardver
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

A vázlatok
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

Az Eric vázlata
Az Eric vázlata
Az Eric vázlata
Az Eric vázlata
Az Eric vázlata
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 PHP kód
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

Image
Image

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: