Isi kandungan:
- Langkah 1: Perkakasan Mudah
- Langkah 2: Lakaran
- Langkah 3: Lakaran Eric
- Langkah 4: Kod PHP
- Langkah 5: Video dan Lebih Banyak Maklumat ISS & Ham
- Langkah 6: Pemikiran Akhir …
Video: Sistem Pemberitahuan ISS Mudah: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Apa itu Stesen Angkasa Antarabangsa dan Mengapa anda mahu meramalkan di mana ia berada?
Untuk menjawab soalan pertama, kita boleh melihat laman web NASA untuk mendapatkan jawapan. Ringkasnya ialah:
Stesen Angkasa Antarabangsa adalah kapal angkasa besar. Ia mengelilingi Bumi. Ia adalah rumah di mana angkasawan tinggal. Stesen angkasa juga merupakan makmal sains. Banyak negara bekerjasama untuk membinanya. Mereka juga bekerjasama untuk menggunakannya. Stesen angkasa terbuat dari banyak kepingan. Potongan itu dikumpulkan di angkasa oleh angkasawan. Orbit stesen angkasa terletak kira-kira 220 batu di atas Bumi. NASA menggunakan stesen itu untuk belajar tentang hidup dan bekerja di ruang angkasa. Pelajaran ini akan membantu NASA meneroka ruang.
www.nasa.gov/audience/forstudents/k-4/stor…
Soalan kedua agak sukar untuk dijawab - Tetapi saya akan mencuba.
Saya seorang Pengendali Radio Amatur (atau Ham Radio Operator) - satu perkara yang selalu saya seronok ialah menggunakan radio pegangan tangan rendah (5 watt atau kurang) dan berkomunikasi dengan satelit yang mengorbit. ISS mempunyai peralatan radio di atas kapal.
Pada awal masa ham, saya sering berkomunikasi dengan satelit, malah membuat beberapa kenalan hanya dengan antena getah bebek - sesuatu yang sukar dilakukan. Saya membuat beberapa kenalan dengan ISS menggunakan APRS (sistem pelaporan paket automatik) Itu pada tahun 2013 - lama dahulu, saya sangat tidak aktif sejak itu. Ini sesuatu yang saya mahu masuk semula kepada anda.
Pada tahun 2013 saya menulis beberapa skrip PHP untuk baris arahan yang akan memberitahu saya lokasi ISS, dan membantu untuk meramalkan kapan ia akan menjadi lebih awal. Pada masa itu saya menggunakan tongkat berkedip, dan adakah ia berubah warna ketika ISS menghampiri. Terima kasih kepada karya di https://open-notify.org dan API-nya sangat mudah untuk membuatnya.
2018 - 5 tahun kemudian saya akhirnya menukar PHP ini ke Arduino C (sebenarnya ia sangat mudah dilakukan.)
Projek saya menggunakan D-Duino (yang benar-benar NodeMCU dengan OLED di atas kapal), hanya itu sahaja.
Saya masih menggunakan API yang sama dari
Saya juga telah menulis beberapa kod untuk menggunakan D1 Mini dan WS2812 Shield (lihat Projek Eric Penyelia saya untuk maklumat lanjut mengenai perkara itu).
Langkah 1: Perkakasan Mudah
D-Duino (NodeMCU)
www.aliexpress.com/item/NodeMCU-CP2102-ESP…
Itu sahaja, itulah yang diperlukan. Sudah tentu anda boleh menggunakan perkakasan lain - ini semestinya berfungsi pada mana-mana peranti ESP8266 yang boleh menggunakan OLED I2C. D-Duino adalah sebahagian besarnya NodeMCU dengan penambahan OLED.
Kodnya boleh didapati
Anda perlu memasang papan ESP8266 di Arduino IDE. Arahan boleh didapati di sini:
(cara termudah adalah dengan pengurus papan)
Anda juga memerlukan beberapa perpustakaan - saya rasa semua ini boleh didapati di pengurus perpustakaan sekarang (tetapi saya tidak yakin 100% mengenai perkara itu).
Perpustakaan Diperlukan: ArduinoJson.h
Adafruit_NeoPixel
WifiManager.h
TimeLib.h
esp8266-oled-ssd1306
(Saya tidak pasti dari mana saya mendapat TImeLib, dan mungkin termasuk dengan Arduino IDE ??)
Kaedah paling mudah untuk memasangnya ialah menggunakan pengurus perpustakaan. Sekiranya tidak ikut arahan dengan setiap perpustakaan.
Langkah 2: Lakaran
Pada masa ini terdapat dua sketsa dan tiga skrip PHP yang dimasukkan ke dalam repositori github.
DDuino_ISS_notification yang harus digunakan dengan perkakasan D-Duino dari atas.
Dan EricISSnotification yang menggunakan "Penyelia Eric" saya sebelumnya dari rancangan "People of Earth". (Lebih lanjut mengenai ini kemudian)
Dalam kedua-dua lakaran berhampiran garis 30 (atau tempat yang sangat dekat dengannya) - Anda akan melihat beberapa pemboleh ubah terapung yang disebut mylat dan mylon. Anda perlu menukar kedua garis ini dengan Lintang dan Bujur anda - jika anda tidak mengetahui Lat dan Lon anda, anda boleh menggunakan laman web ini https://www.latlong.net Pusat bandar anda pasti baik. Ia tidak harus sesuai dengan garis lintang atau garis bujur anda. Sketsa melakukan beberapa pembulatan, dan matematik lain untuk menghasilkan jarak jarak dekat ISS di Miles A. S.
Saya percaya ini adalah satu-satunya perkara yang perlu diubah dalam lakaran.
Matematik untuk pengiraan jarak didasarkan pada jarak lingkaran besar antara dua titik, dan yang formal boleh didapati di sini -
Laman web ini memberikan banyak maklumat mengenai cara mengira jarak antara dua garis lintang dan garis bujur serta galas. Kami tidak menggunakan pengiraan galas untuk ini.
Untuk bekerja secara formal, kita perlu mendapatkan theta dan mengubah beberapa darjah menjadi berseri, dan sebaliknya, berseri ke darjah. Oleh kerana Arduino tidak dapat membuat matematik dengan baik, kita harus membantunya dengan sedikit perubahan.
batal getDistance () {
apungan theta, jarak, batu;
theta = mylon - penerbitan;
dist = sin (deg2rad (mylat)) * sin (deg2rad (isslat)) + cos (deg2rad (mylat)) * cos (deg2rad (isslat)) * cos (deg2rad (theta));
dist = acos (dist); dist = rad2deg (dist);
batu = jarak * 60 * 1.1515;
jarak = batu;
}
float deg2rad (apungan n) {
radian terapung = (n * 71) / 4068;
pulangan radian;
}
apungan rad2deg (apungan n) {
darjah apungan = (n * 4068) / 71;
darjah kepulangan;
}
Sebilangan besar matematik dilakukan berhampiran garis 127 - JIKA anda mahukan jarak yang berbeza (katakan KM atau Nautical Miles)
anda boleh menukar "miles = dist * 60 * 1.1515;" garisan.
Untuk KM, ia seperti "miles = (dist * 60 * 1.1515) * 1.609344;"
Untuk Nautical Miles seperti "miles = (dist * 60 * 1.1515) * 0.8684;"
Anda mungkin juga ingin menukar garis cetakan Serial dan garis paparan OLED yang mengatakan jarak batu ke ukuran baru anda.
Yang merupakan garis 86 dan 96 dalam lakaran pemberitahuan DDuino_ISS_.
Langkah 3: Lakaran Eric
Penyelia Eric adalah AI atau makhluk asing dari TBS TV People of Earth, Sila lihat Instruksional saya yang lain di bangunan saya.
Yang sangat asas yang anda perlukan untuk sistem pemberitahuan ini ialah D1 Mini dan perisai WS2812 - memilikinya dalam kotak yang bagus dengan lensa yang bagus menjadikannya kelihatan - bagus.
Sekali lagi, mana-mana ESP8266 dengan piksel WS2812 harus berfungsi, sebenarnya tidak ada sihir yang berlaku di sini - Perisai WS2812 disambungkan ke D2 pada D1 mini (yang saya percaya adalah pin 4 pada papan NodeMCU, dan mungkin papan ESP8266 yang lain).
Untuk lakaran:
Seperti di atas, anda perlu mengubah garis lintang dan garis bujur anda dalam lakaran berhampiran garis 27. Dan seperti di atas, lakaran ini juga mengira jarak antara garis lintang dan garis bujur. Tidak seperti lakaran di atas, paparan ini hanya dengan WS2812 Neopixel LED.
Matematiknya hampir di baris 96, tetapi sebaliknya sama seperti di atas. Masih ada output bersiri jika anda ingin melihat apa yang sedang berlaku. Sketsa ini hanya melakukan pengiraan lokasi dan jarak ISS - ia tidak membuat ramalan lulus atau berapa banyak orang berada di angkasa.
* Perlu diingat bahawa jarak di sini adalah Miles, ia dapat diubah jika anda mahu, tetapi anda perlu membuat beberapa perubahan lagi untuk unit anda. *
Berhampiran Laluan 116:
batal setColor () {
jika (jarak = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}
if (jarak = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // kelihatan lebih kuning kepada saya
if (jarak = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // kelihatan hijau / kuning kepada saya
jika (jarak <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}
jika (jarak> = 1351) {colorDisplay (strip. Color (0, 0, 0), p);}
}
Unit berada dalam jarak batu, dan jika anda perlu menukar ke KM atau NM, anda juga ingin menukar garis ini.
Apa yang sedang berlaku di sini, Pada jarak 1350 batu, ISS berada di cakrawala dan anda boleh mula mendengar transponder dari radio - ia tidak bagus, dan komunikasi pada ketika ini tidak dapat berlaku. LED bertukar MERAH - ini adalah kepala - ISS semakin hampir.
Selepas masa yang singkat, atau jika ISS berada di antara 1150 hingga 1200 batu, LED akan berubah menjadi oren - ini kelihatan lebih kuning tetapi sokongannya menjadi oren. - Pada jarak 1150 batu, anda harus mula mendengar lebih banyak lagi - komunikasi dua hala mungkin tidak mungkin dilakukan pada HT 5 watt.
Di antara 950 hingga 1150 batu - LED harus menjadi kuning - anda mempunyai peluang yang baik untuk membuat kenalan - masih tidak hebat, tetapi sekurang-kurangnya mungkin pada ketika ini (Kuning kelihatan lebih hijau bagi saya daripada kuning - jadi sesuatu yang lain boleh berfungsi pada)
Di bawah 950 batu LED akan menjadi HIJAU padat - dan hubungan dua hala dapat dibuat.
Oleh kerana ISS bergerak dari LED akan beralih dari Hijau ke Kuning ke Orange ke Merah dan akhirnya mati.
Perlu diingatkan di sini, ini semua berlaku dengan sangat cepat - kebanyakan laluan di kawasan saya berlangsung kurang dari 10 minit, dan masa hubungan biasa yang boleh digunakan adalah di bawah 5 minit.
Perlu juga diperhatikan bahawa ISS dapat mengubah lokasinya, dan bahawa API mungkin atau mungkin tidak dikemas kini - jadi walaupun anda mempunyai lampu hijau - anda mungkin tidak mendengar apa-apa.
** Menjalankan peralatan amatur juga dilakukan secara pilihan dan sukarela, dan semasa mereka mencuba untuk menjalankan peralatan, ada masanya mereka harus mematikannya untuk mendapatkan kuasa, atau kerana apa yang perlu mereka lakukan. Adalah idea yang baik untuk memeriksa laman web AMsat atau ARISS **
Langkah 4: Kod PHP
Di repositori github, saya telah memasukkan kod PHP saya dari tahun 2013.
Kod ini dirancang untuk berjalan dari CLI (atau Command line). Sudah agak lama sejak saya menulis ini tetapi saya rasa satu-satunya syarat adalah mengaktifkan sambungan JSON.
Skrip masih berfungsi, dan jika anda mahu menyusunnya, sila buat!
Untuk Pengguna Windows terdapat maklumat di sini mengenai pemasangan PHP
Pastikan anda memasang versi CLI. Saya rasa semasa anda memasang, anda boleh memilih sambungan mana yang hendak dihidupkan.
Pengguna Linux bergantung pada distro anda - saya menggunakan distro berasaskan Ubuntu - dan sinaptik sebagai pengurus pakej saya.
Anda mahukan php7.0-common, php7.0-json, php7.0-cli, php7.0-curl
Saya rasa saya tidak menggunakan CURL dengan ini, jadi anda mungkin tidak memerlukannya. Selebihnya boleh didapati di pakej pilihan anda atau di laman web
Dua skrip perlu diedit dengan garis lintang dan garis bujur anda - skrip tersebut tidak terlalu panjang, dan apa yang perlu diubah berada di bahagian atas skrip. Mereka adalah iss-location.php dan iss-pass-api.php
iss-location.php mempunyai panggilan lama yang lama - saya tidak pasti ia berfungsi lagi - tetapi anda dapat melihat bahawa saya menukar LED dengan cara yang sama seperti yang saya lakukan dengan "Pemberitahuan Eric" saya. Saya rasa mereka tidak menimbulkan masalah, tetapi anda mungkin mahu memberi komen.
iss-pass-api.php menggunakan masa zaman dan memberikan waktu tempatan untuk jangkaan hantaran. Sejujurnya saya lebih suka versi PHP skrip ini jika dibandingkan dengan versi DDuino (yang sekarang hanya membuat ramalan UTC)
Versi PHP juga diformulasikan lebih bagus untuk paparan - tetapi itu adalah perkara kecil.
Skrip PHP terakhir adalah iss-people.php - dan ia akan memaparkan nama dan kapal angkasa mana mereka berada. Itu sahaja yang dilakukannya. (Dan maklumat ini tidak sering berubah)
Asas menjalankan skrip PHP dari baris arahan adalah:
$ php iss-people.php
Fail PHP adalah fail teks, dan dapat dibuka oleh penyunting teks mana pun. Pengguna Windows saya rasa bahawa saya menyimpannya sehingga kedua-duanya mempunyai pengembalian garis dan pengangkutan. JIKA tidak https://www.editpadlite.com/ mungkin berfungsi untuk mereka.
Langkah 5: Video dan Lebih Banyak Maklumat ISS & Ham
Mendapatkan Lesen Ham Di Amerika Syarikat:
Tidak di A. S.? Setiap negara mempunyai sekumpulan peraturan dan panduan lesen sendiri - periksa siapa yang mengatur komunikasi anda (Di A. S. inilah FCC Federal Communications Commision)
Hitungkan jarak, galas dan lebih banyak antara titik lintang dan garis bujur.
Ini akan menjadi lebih sukar untuk dibuat tanpa menggunakan API yang sangat berguna dari Open Notify
Bagaimana untuk melihat Stesen Angkasa dari Tanah.
Satelit Amatur Radio AMSAT
Maklumat AMSAT di Radio di ISS
Radio Amatur ARISS di Stesen Angkasa Antarabangsa
ISS Fan Club - Kekerapan ISS
Entri Wikipedia pada APRS
APRS.org
Langkah 6: Pemikiran Akhir …
Ini adalah projek yang menyeronokkan, dengan perkakasan yang sangat sederhana.
Terdapat beberapa perkara yang ingin saya ubah, tetapi secara keseluruhan saya sangat gembira dengan hasilnya.
Perkara yang perlu diubah:
1) Cari jalan untuk membuat ramalan lulus dalam waktu tempatan, bukan UTC
2) Cari nombor kod warna yang lebih baik untuk oren dan kuning.
3) Kemas kini untuk berfungsi dengan papan tulis ESP32, dengan OLED dan 4 Neopixels.
Sekiranya anda mendapati ini atau mana-mana projek saya berguna atau menyeronokkan, sila sokong saya.
Apa sahaja yang saya dapat adalah membeli lebih banyak bahagian dan membuat lebih banyak / lebih baik projek.
www.patreon.com/kd8bxp
ko-fi.com/lfmiller
Disyorkan:
Penjejak Kereta GPS Dengan Pemberitahuan SMS dan Muat Naik Data Perkara, Berbasis Arduino, Automasi Rumah: 5 Langkah (dengan Gambar)
Penjejak Kereta GPS Dengan Pemberitahuan SMS dan Muat Naik Data Thingspeak, Berasaskan Arduino, Automasi Rumah: Saya membuat pelacak GPS ini tahun lalu dan kerana ia berfungsi dengan baik, saya menerbitkannya sekarang di Instructable. Ia disambungkan ke palam aksesori di bagasi saya. Penjejak GPS memuat naik kedudukan kereta, kelajuan, arah dan suhu yang diukur melalui data mudah alih
Bina Pemberitahuan ISS Mudah: 5 Langkah
Bina Pemberitahuan ISS Mudah: Oleh TokyLabs | Masa yang Diperlukan: 1-3 Jam | Kesukaran: Mudah | Harga: $ 60– $ 70Anda boleh dengan mudah membuat pemberitahuan perkakasan yang mengangkat angkasawan kertas untuk memberitahu anda setiap kali Stesen Angkasa Antarabangsa melintasi lokasi anda. Lebih menyeronokkan daripada
Sistem Pemberitahuan Kopi Automatik: 7 Langkah (dengan Gambar)
Sistem Pemberitahuan Kopi Automatik: Dalam projek ini saya menjadikan pembuat kopi pejabat dengan pintar, dengan membangun sistem amaran kopi yang mengirimkan pemberitahuan Slack ketika seseorang menyedot periuk kopi segar. Kodnya dapat diubah untuk mengirim email, atau pesan teks. Projek ini dibina berdasarkan R
DIY MusiLED, LED Diselaraskan Muzik Dengan Aplikasi Windows & Linux Satu-klik (32-bit & 64-bit). Mudah Dicipta, Mudah Digunakan, Mudah Dihantar: 3 Langkah
DIY MusiLED, LED Diselaraskan Muzik Dengan Aplikasi Windows & Linux Satu-klik (32-bit & 64-bit). Mudah Dicipta, Mudah Digunakan, Mudah Dihantar: Projek ini akan membantu anda menyambungkan 18 LED (6 Merah + 6 Biru + 6 Kuning) ke Papan Arduino anda dan menganalisis isyarat masa nyata Kad Suara komputer anda dan menyampaikannya kepada LED untuk menyalakannya mengikut kesan rentak (Snare, High Hat, Kick)
Reka Bentuk PCB Dengan Langkah Mudah dan Mudah: 30 Langkah (dengan Gambar)
Reka Bentuk PCB Dengan Langkah Mudah dan Mudah: HELLO FRIENDS Tutorialnya sangat berguna dan mudah bagi mereka yang ingin belajar reka bentuk PCB mari kita mulakan