Taula de continguts:

Sistema de notificacions ISS simple: 6 passos (amb imatges)
Sistema de notificacions ISS simple: 6 passos (amb imatges)

Vídeo: Sistema de notificacions ISS simple: 6 passos (amb imatges)

Vídeo: Sistema de notificacions ISS simple: 6 passos (amb imatges)
Vídeo: Аномально вкусно‼️ ЧЕХОСЛОВАЦКИЙ СУП ИЗ ФАРША. Жена Липована в шоке. 2024, Desembre
Anonim
Sistema de notificacions ISS simple
Sistema de notificacions ISS simple
Sistema de notificacions ISS simple
Sistema de notificacions ISS simple

Què és l’Estació Espacial Internacional i per què voleu predir on es troba?

Per respondre a la primera pregunta, podem buscar una resposta al lloc web de la NASA. El que en definitiva és:

L’Estació Espacial Internacional és una gran nau espacial. Orbita al voltant de la Terra. És una casa on viuen els astronautes. L’estació espacial també és un laboratori de ciències. Molts països van treballar junts per construir-lo. També treballen junts per utilitzar-la. L’estació espacial està formada per moltes peces. Les peces van ser reunides a l’espai per astronautes. L'òrbita de l'estació espacial es troba a unes 220 milles sobre la Terra. La NASA utilitza l'estació per conèixer la vida i el treball a l'espai. Aquestes lliçons ajudaran a la NASA a explorar l’espai.

www.nasa.gov/audience/forstudents/k-4/stor…

La segona pregunta és una mica més difícil de respondre, però ho intentaré.

Sóc un operador de ràdio amateur (o un operador de ràdio Ham): una cosa que sempre m'ha semblat divertit era utilitzar una ràdio de mà de poca potència (de 5 watts o menys) i comunicar-me amb satèl·lits en òrbita. L'ISS té equips de ràdio a bord.

A principis dels meus dies de pernil solia comunicar-me bastant amb els satèl·lits, fins i tot fer alguns contactes només amb l’antena de goma ducky, cosa molt difícil de fer. Vaig establir uns quants contactes amb l’ISS mitjançant APRS (sistema d’informació automàtica de paquets). Va ser el 2013, fa molt de temps, des d’aleshores estic molt inactiu. És una cosa que he volgut tornar a entrar en tu.

El 2013 vaig escriure un parell de scripts PHP per a la línia d’ordres que em dirien la ubicació de l’ISS i que ajudarien a predir quan es superaria. En aquell moment, vaig fer servir un pal de parpelleig i el vaig canviar de color a mesura que s’acostava la ISS. Gràcies al treball a https://open-notify.org i la seva API va ser bastant fàcil fer-los.

2018 - 5 anys després, finalment vaig convertir aquests PHP a Arduino C (en realitat era molt fàcil de fer).

El meu projecte utilitza un D-Duino (que és realment un NodeMCU amb un OLED a bord), això és tot el que hi ha.

Encara estic fent servir la mateixa API de

També he escrit algun codi per utilitzar un Mini D1 i un escut WS2812 (per obtenir més informació, consulteu el meu Supervisor Eric Project).

Pas 1: maquinari senzill

Maquinari senzill
Maquinari senzill

D-Duino (NodeMCU)

www.aliexpress.com/item/NodeMCU-CP2102-ESP…

Això és tot, això és tot el que es requereix. Per descomptat, podeu utilitzar un altre maquinari: hauria de funcionar en qualsevol dispositiu ESP8266 que pugui utilitzar un OLED I2C. El D-Duino és en la seva major part un NodeMCU amb l’addició de l’OLED.

El codi es pot trobar

Haureu de tenir instal·lades les plaques ESP8266 a l’IDE Arduino. Les instruccions es poden trobar aquí:

(la forma més senzilla és amb el gestor de taules)

També necessitareu algunes biblioteques; crec que totes aquestes es poden trobar al gestor de biblioteques ara (però no n’estic segur al 100%).

Biblioteques necessàries: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(No estic segur d'on vaig treure TImeLib, i potser s'inclou amb Arduino IDE ??)

La forma més senzilla d’instal·lar-les és mitjançant el gestor de biblioteques. Si no, seguiu les instruccions de cada biblioteca.

Pas 2: els esbossos

Els esbossos
Els esbossos

Actualment hi ha dos esbossos i tres scripts PHP inclosos al repositori de github.

DDuino_ISS_notification que s'hauria d'utilitzar amb el maquinari D-Duino des de dalt.

I EricISSnotification que utilitza el meu anterior "Supervisor Eric" del programa "People of Earth". (Més informació sobre això més endavant)

A tots dos esbossos a prop de la línia 30 (o en algun lloc molt proper): veureu un parell de variables flotants anomenades mylat i mylon. Haureu de canviar aquestes dues línies amb la vostra latitud i longitud; si no coneixeu el vostre lat i lon, podeu utilitzar aquest lloc web https://www.latlong.net El centre de la vostra ciutat hauria d’estar bé. No ha de coincidir amb la vostra latitud ni longitud. Els esbossos fan arrodoniments i altres matemàtiques per arribar a una distància aproximada de la ISS a les milles dels Estats Units.

Crec que això és l’únic que s’ha de canviar als esbossos.

Les matemàtiques per al càlcul de la distància es basen en la distància del gran cercle entre dos punts, i el formal es pot trobar aquí:

Aquest lloc proporciona molta informació sobre com calcular la distància entre dues latituds i longituds, així com el relleu. Per a això no fem servir cap càlcul de rodaments.

Perquè el formal funcioni, necessitem obtenir un theta i convertir un grau en radiant i, al revés, radiant en grau. Com que l’Arduino no fa tan bé les matemàtiques, hem d’ajudar-lo una mica amb les conversions.

void 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);

milles = dist * 60 * 1.1515;

distància = milles;

}

float deg2rad (float n) {

radiant flotant = (n * 71) / 4068;

retorn radian;

}

float rad2deg (float n) {

grau flotant = (n * 4068) / 71;

grau de retorn;

}

El gruix de les matemàtiques es fa a prop de la línia 127 - SI voleu una distància diferent (per exemple, KM o Miles Nàutiques)

podeu canviar les "miles = dist * 60 * 1.1515;" línia.

Per a KM, seria "milles = (dist * 60 * 1.1515) * 1.609344;"

Per a les milles nàutiques, alguna cosa així com "miles = (dist * 60 * 1.1515) * 0.8684;"

Probablement també voldreu canviar la línia d'impressió en sèrie i la línia de pantalla OLED que indiquen milles a la vostra nova mesura.

Quina és la línia 86 i 96 de l’esbós DDuino_ISS_notification.

Pas 3: L'esbós d'Eric

L’Eric Sketch
L’Eric Sketch
L’Eric Sketch
L’Eric Sketch
L’Eric Sketch
L’Eric Sketch

El supervisor Eric és un AI o un extraterrestre de TBS TV People of Earth. Si us plau, consulteu el meu altre instructible de la meva versió.

El més bàsic que necessiteu per a aquest sistema de notificació és un D1 Mini i l’escut WS2812: tenir-lo en una bonica caixa amb un bonic objectiu fa que sembli molt bé.

Una vegada més, qualsevol ESP8266 amb un píxel WS2812 hauria de funcionar, realment no hi ha màgia: el protector WS2812 està connectat a D2 al D1 mini (que crec que és el pin 4 de les plaques NodeMCU i potser altres taules ESP8266).

Per a l'esbós:

Com a dalt, haureu de canviar la latitud i la longitud a l'esbós a prop de la línia 27. I igual que a l'esbós anterior, també es calcula la distància entre latitud i longitud. A diferència de l'esbós anterior, aquesta única pantalla és amb el LED WS2812 Neopixel.

Les matemàtiques són a prop de la línia 96, però en cas contrari són les mateixes que les anteriors. Encara hi ha sortida en sèrie si voleu veure què passa. Aquest esbós només fa càlculs de la ubicació i la distància de l'ISS; no fa les prediccions de passatge ni la quantitat de persones que hi ha a l'espai.

* Cal tenir en compte que la distància aquí es troba en milles, es pot canviar si voleu, però haureu de fer alguns canvis més per a les vostres unitats. *

A prop de la línia 116:

void setColor () {

if (distància = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}

if (distància = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // em sembla més groc

if (distància = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // em sembla verd / groc

if (distància <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}

if (distància> = 1351) {colorDisplay (strip. Color (0, 0, 0), p);}

}

Les unitats són en milles i, si heu de canviar a KM o NM, també voldreu canviar aquestes línies.

Què passa aquí, a 1.350 milles, la ISS està a l’horitzó i només podeu començar a escoltar els transponders de la ràdio: no és fantàstic, i la comunicació en aquest moment no pot passar realment. El LED es posa EN VERMELL (això és un cap amunt), l’ISS s’acosta.

Al cap de poc temps, o si la ISS oscil·la entre 1150 i 1200 milles, el LED es posarà de color taronja; realment es veurà més groc, però és compatible que sigui taronja. - A 1150 milles hauríeu de començar a sentir una mica més: és probable que la comunicació bidireccional encara no sigui possible en un HT de 5 watts.

Entre 950 i 1150 milles: el LED hauria de quedar groc; teniu una bona oportunitat de fer un contacte; encara no és fantàstic, però almenys és possible en aquest moment (el groc em sembla més verd que groc), així que hi ha una altra cosa que funcionar encès)

A menys de 950 milles, el LED serà un VERD sòlid i es poden establir contactes de dues vies.

A mesura que l'ISS s'allunya del LED, passarà de verd a groc a taronja a vermell i finalment a OFF.

Cal assenyalar-ho aquí, tot això passa molt ràpidament: la majoria de passades a la meva zona duren menys de 10 minuts i el temps de contacte normal és inferior a 5 minuts.

També cal tenir en compte que l'ISS pot canviar la seva ubicació i que l'API pot actualitzar-se o no, de manera que fins i tot si teniu llum verda, és possible que no escolteu res.

** El funcionament de l'equip amateur també es fa opcional i voluntari i, mentre intenten fer funcionar l'equip, hi ha temps que l'han d'apagar per alimentar-se o pel que han de fer. Sempre és una bona idea consultar els llocs web AMsat o ARISS **

Pas 4: el codi PHP

El codi PHP
El codi PHP

Al dipòsit de github, he inclòs el meu codi PHP des del 2013.

El codi s'ha dissenyat per executar-se des de la CLI (o línia d'ordres). Ha passat un temps des que els vaig escriure, però crec que l’únic requisit era tenir habilitades les extensions JSON.

Els scripts encara funcionen i, si voleu executar-los, no dubteu a fer-ho.

Per als usuaris de Windows, aquí hi ha informació sobre com instal·lar PHP

Assegureu-vos d’instal·lar la versió CLI. Crec que a mesura que instal·leu podeu seleccionar les extensions que voleu activar.

Els usuaris de Linux depenen de la vostra distribució (faig servir una distribució basada en Ubuntu) i de synaptic com a gestor de paquets.

Voldreu php7.0-comú, php7.0-json, php7.0-cli, php7.0-curl

Crec que no he utilitzat CURL amb aquests, de manera que potser no en necessiteu cap. La resta es pot trobar al gestor de paquets que trieu o al lloc web

Cal que editeu dos dels scripts amb la vostra latitud i longitud; no són molt llargs i el que cal canviar és a la part superior del script. Són iss-location.php i iss-pass-api.php

A iss-location.php ja em queden les meves antigues trucades de pal parpelleig (no estic segur que funcionin més), però podeu veure que canviava el LED de la mateixa manera que ho faig amb la meva "Notificació Eric". No crec que causin cap problema, però és possible que vulgueu comentar-los.

iss-pass-api.php utilitza el temps de l'època i proporciona una hora local de les passes previstes. Sincerament, prefereixo la versió PHP d’aquest script en comparació amb la versió DDuino (que ara mateix només fa prediccions UTC)

La versió de PHP també està més ben dissenyada per a la seva visualització, però això és realment poc important.

El script PHP final és iss-people.php - i mostrarà els noms i la nau espacial on es troben. Això és tot el que fa. (I aquesta informació no canvia sovint)

Els conceptes bàsics per executar un script PHP des de la línia d’ordres són:

$ php iss-people.php

Els fitxers PHP són fitxers de text i poden ser oberts per qualsevol editor de text. Usuaris de Windows, crec que els he desat perquè tinguin retorns de línia i de carro. SI NO https://www.editpadlite.com/ podria funcionar per a ells.

Pas 5: els vídeos i més informació ISS i Ham

Image
Image

Com obtenir una llicència de pernil als Estats Units:

No als Estats Units? Cada país té el seu propi conjunt de regles i guies de llicència. Consulteu qui governa les vostres comunicacions (aquí, als Estats Units, és la Comissió Federal de Comunicacions de la FCC)

Calculeu la distància, el rumb i més entre els punts de latitud i longitud.

Això hauria estat molt més difícil de fer amb les API molt útils d'Open Notify

Com veure l’estació espacial des de terra.

AMSAT Radio Amateur Satellite

Informació de l'AMSAT a la ràdio a la ISS

Ràdio aficionada ARISS a l’Estació Espacial Internacional

ISS Fan Club - Freqüències ISS

Entrada de Wikipedia a APRS

APRS.org

Pas 6: Pensaments finals …

Aquest va ser un projecte divertit, amb un maquinari molt senzill.

Hi ha un parell de coses que m'agradaria canviar, però, en general, estic molt content dels resultats.

Coses que cal canviar:

1) Esbrineu una manera de tenir prediccions de passatge en hora local, no UTC

2) Cerqueu millors números de codi de color per a taronja i groc.

3) Actualització per treballar amb la placa ESP32 X, amb OLED i 4 Neopixels.

Si creieu que aquest o algun dels meus projectes és útil o agradable, ajudeu-me.

Tot el que obtinc és comprar més peces i fer més / millors projectes.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Recomanat: