Obsah:
- Krok 1: Jednoduchý hardvér
- Krok 2: Skice
- Krok 3: Eric Sketch
- Krok 4: Kód PHP
- Krok 5: Videá a ďalšie informácie o ISS a šunke
- Krok 6: Záverečné myšlienky …
Video: Jednoduchý oznamovací systém ISS: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Čo je to medzinárodná vesmírna stanica a prečo chcete predpovedať, kde sa nachádza?
Na zodpovedanie prvej otázky môžeme nájsť odpoveď na webovej stránke NASA. Čo je v skratke:
Medzinárodná vesmírna stanica je veľká vesmírna loď. Obieha okolo Zeme. Je to domov, kde žijú astronauti. Vesmírna stanica je tiež vedeckým laboratóriom. Mnoho krajín spolupracovalo na jeho vybudovaní. Spolupracujú aj na využití. Vesmírna stanica je vyrobená z mnohých dielov. Kúsky skladali vo vesmíre astronauti. Obežná dráha vesmírnej stanice je asi 220 míľ nad Zemou. NASA pomocou stanice získava informácie o živote a práci vo vesmíre. Tieto lekcie pomôžu NASA pri skúmaní vesmíru.
www.nasa.gov/audience/forstudents/k-4/stor…
Na druhú otázku je trochu ťažšie odpovedať - Ale pokúsim sa.
Som amatérsky rozhlasový operátor (alebo rádioamatér Ham) - jedna vec, ktorá ma vždy bavila, bolo používať ručné rádio s nízkym výkonom (5 wattov alebo menej) a komunikovať s družicami na obežnej dráhe. ISS má na palube rádiové zariadenie.
Na začiatku mojich šunkových čias dosť často komunikujem so satelitmi, dokonca nadväzujem nejaké kontakty iba s gumenou kačkovou anténou - čo je veľmi ťažké urobiť. Nadviazal som niekoľko kontaktov s ISS pomocou APRS (systém automatického hlásenia paketov) To bolo v roku 2013 - už dávno som bol odvtedy veľmi neaktívny. Je to niečo, čo som chcel dostať späť do teba.
V roku 2013 som napísal niekoľko skriptov PHP pre príkazový riadok, ktoré mi oznámia polohu ISS a pomôžu predpovedať, kedy bude nad hlavu. V tej dobe som použil žmurknutie a nechal zmeniť svoje farby, keď sa blížila ISS. Vďaka práci na https://open-notify.org a jeho API bolo ich vytvorenie veľmi jednoduché.
2018 - O 5 rokov neskôr som tieto PHP konečne previedol na Arduino C (v skutočnosti to bolo veľmi jednoduché.)
Môj projekt používa D-Duino (čo je skutočne NodeMCU s integrovanou OLED), to je všetko, čo k tomu patrí.
Stále používam rovnaké API z
Tiež som napísal kód na použitie D1 Mini a WS2812 Shield (ďalšie informácie nájdete v mojom projekte Supervisor Eric).
Krok 1: Jednoduchý hardvér
D-Duino (NodeMCU)
www.aliexpress.com/item/NodeMCU-CP2102-ESP…
To je všetko, čo je potrebné. Samozrejme môžete použiť aj iný hardvér - to by malo fungovať na akomkoľvek zariadení ESP8266, ktoré môže používať I2C OLED. D-Duino je z väčšej časti NodeMCU s pridaním OLED.
Kód nájdete
Budete musieť mať dosky ESP8266 nainštalované v Arduino IDE. Pokyny nájdete tu:
(najľahšie je to pomocou správcu dosiek)
Budete tiež potrebovať niekoľko knižníc - myslím, že všetky tieto položky teraz nájdete v správcovi knižníc (tým si však nie som 100% istý).
Potrebné knižnice: ArduinoJson.h
Adafruit_NeoPixel
WifiManager.h
TimeLib.h
esp8266-oled-ssd1306
(Nie som si istý, odkiaľ som získal TImeLib a možno je súčasťou Arduino IDE ??)
Najjednoduchší spôsob, ako ich nainštalovať, je použiť správcu knižnice. Ak nie, postupujte podľa pokynov v každej knižnici.
Krok 2: Skice
V úložisku github sú v súčasnej dobe zahrnuté dve skice a tri skripty PHP.
DDuino_ISS_notification, ktoré by sa malo použiť s hardvérom D-Duino zhora.
A upozornenie EricISS, ktoré používa môj predchádzajúci „supervízor Eric“zo šou „Ľudia Zeme“. (Viac o tom neskôr)
V oboch náčrtoch blízko čiary 30 (alebo niekde skutočne blízko nej) - Uvidíte niekoľko premenných typu float nazývaných mylat a mylon. Tieto dva riadky budete musieť zmeniť pomocou zemepisnej šírky a dĺžky - ak nepoznáte zemepisnú šírku a dĺžku, môžete použiť túto webovú stránku https://www.latlong.net Centrum vášho mesta by malo byť v poriadku. Nemusí sa zhodovať s vašou odhadovanou zemepisnou šírkou alebo dĺžkou. Náčrty zaokrúhľujú a na ďalšie matematiky sa odhaduje približná vzdialenosť ISS v amerických míľach.
Verím, že je to jediná vec, ktorú je potrebné na náčrtoch zmeniť.
Matematika na výpočet vzdialenosti je založená na vzdialenosti veľkého kruhu medzi dvoma bodmi a formálne údaje nájdete tu-https://www.movable-type.co.uk/scripts/latlong.htm…
Táto stránka poskytuje veľa informácií o tom, ako vypočítať vzdialenosť medzi dvoma zemepisnými šírkami a dĺžkami, ako aj o ložiskách. Na to nepoužívame žiadne výpočty ložísk.
Aby formálne fungovalo, potrebujeme získať theta a previesť určitý stupeň na žiarivý a naopak, žiarivý na stupeň. Keďže Arduino nevie tak dobre počítať, musíme mu s prevodmi trochu pomôcť.
neplatné getDistance () {
float theta, dist, miles;
theta = 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íle = vzdialenosť * 60 * 1,1515;
vzdialenosť = míle;
}
float deg2rad (float n) {
plavákový radián = (n * 71)/4068;
návratový radián;
}
float rad2deg (float n) {
plavákový stupeň = (n*4068)/71;
návratový stupeň;
}
Väčšina matematiky sa vykonáva v blízkosti riadku 127 - AK by ste chceli inú vzdialenosť (povedzme KM alebo námorné míle)
môžete zmeniť „míle = vzdialenosť * 60 * 1,1515;“riadok.
Pre KM by to bolo niečo ako „míle = (vzdialenosť*60*1,1515)*1,609344;“
Pre námorné míle niečo ako „míle = (vzdialenosť*60*1,1515)*0,8684;"
Pravdepodobne budete tiež chcieť zmeniť sériový tlačový riadok a riadok displeja OLED, ktoré hovoria o kilometroch vášho nového merania.
Čo je riadok 86 a 96 v náčrte DDuino_ISS_notification.
Krok 3: Eric Sketch
Supervízor Eric je AI alebo mimozemšťan z TBS TV People of Earth, pozrite si prosím môj ďalší návod na moju stavbu.
Úplne základným vybavením, ktoré pre tento notifikačný systém potrebujete, je D1 Mini a štít WS2812 - vďaka peknému boxu s pekným objektívom vyzerá veľmi dobre.
Opäť by mal fungovať akýkoľvek ESP8266 s pixelom WS2812, tu sa skutočne nejedná o žiadne kúzlo - štít WS2812 je pripojený k D2 na D1 mini (čo je podľa mňa pin 4 na doskách NodeMCU a možno aj na ďalších doskách ESP8266).
K náčrtu:
Ako je uvedené vyššie, v náčrte pri čiare 27 budete musieť zmeniť svoju zemepisnú šírku a dĺžku. Rovnako ako vyššie, aj táto skica počíta vzdialenosť medzi zemepisnou šírkou a dĺžkou. Na rozdiel od vyššie uvedeného náčrtu je tento jediný displej vybavený LED diódou WS2812 Neopixel LED.
Matematika je blízko riadku 96, ale inak je rovnaká ako vyššie. Ak chcete vidieť, čo sa deje, stále existuje sériový výstup. Táto skica robí iba výpočty polohy a vzdialenosti ISS - nerobí predpovede priechodov ani počet ľudí vo vesmíre.
* Je potrebné poznamenať, že vzdialenosť je v míľach, dá sa zmeniť, ak chcete, ale pre svoje jednotky budete musieť vykonať ešte niekoľko zmien. *
Blízko linky 116:
void setColor () {
if (distance = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}
if (distance = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // pripadá mi viac žltý
if (distance = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // mne sa to zda zeleno/zlte
if (vzdialenosť <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}
if (distance> = 1351) {colorDisplay (strip. Color (0, 0, 0), p);}
}
Jednotky sú v míľach, a ak potrebujete zmeniť na KM alebo NM, budete chcieť zmeniť aj tieto riadky.
Čo sa tu deje, V 1350 míľach je ISS na obzore a vy môžete začať počuť transpondéry z rádia - nie je to nič skvelé a komunikácia v tomto mieste nemôže skutočne prebiehať. LED dióda svieti ČERVENO - toto je upozornenie - ISS sa blíži.
Po krátkom čase, alebo ak je ISS medzi 1 150 a 1 200 míľami, dióda LED začne svietiť na oranžovo - toto skutočne vyzerá viac nažlto, ale podpora je oranžová. - Na 1150 míľ by ste mali začať počuť trochu viac - obojsmerná komunikácia bude pravdepodobne stále nemožná na 5 wattovom HT.
Medzi 950 a 1150 míľami - LED dióda by mala zožltnúť - máte slušnú šancu nadviazať kontakt - stále to nie je skvelé, ale v tomto mieste je to prinajmenšom možné (Žltá mi pripadá viac zelená ako žltá - takže by malo fungovať niečo iné) na)
Pri vzdialenosti menšej ako 950 míľ bude dióda LED svietiť zelenou - a je možné nadviazať obojsmerné kontakty.
Keď sa ISS vzdiali od LED, prejde zo zelenej na žltú, oranžovú na červenú a potom konečne na VYPNUTÉ.
Tu je potrebné poznamenať, že sa to všetko deje veľmi rýchlo - väčšina priechodov v mojej oblasti trvá menej ako 10 minút a normálna použiteľná doba kontaktu je menej ako 5 minút.
Je tiež potrebné poznamenať, že ISS môže zmeniť svoje umiestnenie a že rozhranie API môže alebo nemusí byť aktualizované - takže aj keď máte zelené svetlo - možno nič nebudete počuť.
** Prevádzka amatérskeho vybavenia sa vykonáva tiež voliteľne a dobrovoľne, a zatiaľ čo sa pokúšajú spustiť zariadenie, existuje čas, keď ho musia vypnúť kvôli napájaniu alebo kvôli tomu, čo musia urobiť. Vždy je dobré skontrolovať webové stránky AMsat alebo ARISS **
Krok 4: Kód PHP
Do úložiska github som zahrnul svoj kód PHP z roku 2013.
Kód bol navrhnutý tak, aby fungoval z CLI (alebo z príkazového riadka). Už je to nejaký čas, čo som ich napísal, ale myslím si, že jedinou požiadavkou bolo mať povolené rozšírenia JSON.
Skripty stále fungujú a ak ich chcete spustiť, pokojne to urobte!
Pre používateľov systému Windows sú tu informácie o inštalácii PHP
Nezabudnite nainštalovať verziu CLI. Myslím, že pri inštalácii si môžete vybrať, ktoré rozšírenia chcete zapnúť.
Používatelia Linuxu závisia od vašej distribúcie - používam distro založenú na Ubuntu - a ako správcu balíkov synaptický.
Budete chcieť php7.0-common, php7.0-json, php7.0-cli, php7.0-curl
Myslím, že som s nimi nepoužil CURL, takže ten možno nebudete potrebovať. Ostatné by ste mali nájsť vo zvolenom správcovi balíkov alebo na webovej stránke
Dva zo skriptov bude potrebné upraviť podľa vašej zemepisnej šírky a dĺžky - nie sú príliš dlhé a čo je potrebné zmeniť, je priamo v hornej časti skriptu. Sú to iss-location.php a iss-pass-api.php
v iss -location.php zostali moje staré hovory žmurknutím - nie som si istý, či už fungujú - ale vidíte, že som LED diódu menil podobne, ako to robím pri „upozornení od Erica“. Nemyslím si, že by spôsobovali problémy, ale môžete sa k nim vyjadriť.
iss-pass-api.php používa epochový čas a udáva miestny čas predpovedaných prechodov. Pri všetkej úprimnosti dávam prednosť verzii PHP tohto skriptu v porovnaní s verziou DDuino (ktorá v súčasnosti robí iba predpovede UTC)
Verzia PHP je tiež krajšia na zobrazenie - ale to je skutočne drobnosť.
Konečný skript PHP je iss -people.php - a zobrazí názvy a vesmírne plavidlo, na ktorom sa nachádzajú. To je všetko, čo robí. (A tieto informácie sa často nemenia)
Základy spustenia skriptu PHP z príkazového riadka sú:
$ php iss-people.php
Súbory PHP sú textové súbory a je možné ich otvoriť v ľubovoľnom textovom editore. Používatelia systému Windows Myslím, že som ich uložil, aby mali vrátené riadky aj vozíky. AK nie https://www.editpadlite.com/ môže pre nich fungovať.
Krok 5: Videá a ďalšie informácie o ISS a šunke
Získanie licencie na šunku v USA:
Nie ste v USA? Každá krajina má svoj vlastný súbor pravidiel a licenčných sprievodcov - overte si, kto riadi vašu komunikáciu (tu v USA je to Federálna komunikačná komisia FCC)
Vypočítajte vzdialenosť, ložisko a ďalšie body medzi zemepisnou šírkou a dĺžkou.
To by bolo oveľa ťažšie zvládnuť bez veľmi užitočných rozhraní API z programu Open Notify
Ako vidieť vesmírnu stanicu zo zeme.
Rádioamatérsky satelit AMSAT
Informácie o rádiu AMSAT na ISS
Amatérske rádio ARISS na medzinárodnej vesmírnej stanici
ISS Fan Club - frekvencie ISS
Vstup do Wikipédie v APRS
APRS.org
Krok 6: Záverečné myšlienky …
Bol to zábavný projekt s veľmi jednoduchým hardvérom.
Je niekoľko vecí, ktoré by som chcel zmeniť, ale celkovo som s výsledkami spokojný.
Veci, ktoré je potrebné zmeniť:
1) Vymyslite spôsob, ako predávať predpovede v miestnom čase, nie v UTC
2) Nájdite lepšie čísla farebných kódov pre oranžovú a žltú.
3) Aktualizácia je kompatibilná s doskou ESP32 X s OLED a 4 neopixelmi.
Ak považujete tento alebo ktorýkoľvek z mojich projektov za užitočný alebo príjemný, podporte ma.
Všetko, čo dostanem, je kúpiť viac dielov a vytvoriť viac/lepších projektov.
www.patreon.com/kd8bxp
ko-fi.com/lfmiller
Odporúča:
Jednoduchý radarový systém od Magicbit: 6 krokov
Jednoduchý radarový systém od Magicbit: Tento tutoriál ukazuje, ako vytvoriť jednoduchý radarový systém pomocou senzora HC-SR04 a vývojovej dosky Microbit so spracovaním a IDE Arduino
Jednoduchý systém stavu a rezervácie kickeru s integráciou Slack: 12 krokov (s obrázkami)
Jednoduchý stav a rezervačný systém kopačky s integráciou Slack: V spoločnosti, kde pracujem, je stôl na kicker. Spoločnosť zaberá mnoho poschodí a niektorým zamestnancom trvá až 3 minúty, kým sa dostanú k stolu a … kým si uvedomia, že stôl je už obsadený. Preto vznikol nápad postaviť ki
Jednoduchý systém na triedenie produktov s Raspberry Pi a Arduino: 5 krokov
Jednoduchý systém triedenia produktov s Raspberry Pi a Arduino: Som fanúšikom techniky, vo svojom voľnom čase milujem programovanie a tvorbu elektronických projektov. V tomto projekte by som sa s vami podelil o jednoduchý systém triedenia produktov, ktorý som nedávno urobil. Na výrobu tento systém, pripravte si komponenty
Mapovač - mapovací a oznamovací systém: 9 krokov
The Mappifier - Mapping + Notification System: Nočná jazda je celkom zábava. Často sa však ukazuje, že je to nočná mora v podobe zvierat prechádzajúcich cez cestu (najmä tie túlavé mačky a psy, ktoré čakajú, kým prejdete v ich blízkosti, aby mohli prejsť !!). Tak ma napadlo vytvoriť taký
Ako správne pripojiť a nastaviť mini HiFi policový systém (zvukový systém): 8 krokov (s obrázkami)
Ako správne pripojiť a nastaviť mini HiFi policový systém (zvukový systém): Som človek, ktorého baví učiť sa o elektrotechnike. Som stredná škola v Ann Richards School for Young Women Leaders. Robím to podľa pokynov, aby som pomohol každému, kto si chce vychutnať svoju hudbu z Mini LG HiFi Shelf Syste