Isi kandungan:

Sistem Pemberitahuan ISS Mudah: 6 Langkah (dengan Gambar)
Sistem Pemberitahuan ISS Mudah: 6 Langkah (dengan Gambar)

Video: Sistem Pemberitahuan ISS Mudah: 6 Langkah (dengan Gambar)

Video: Sistem Pemberitahuan ISS Mudah: 6 Langkah (dengan Gambar)
Video: 3 Tanda Smartphone Kamu Sedang Di Sadap Orang Lain 2024, November
Anonim
Sistem Pemberitahuan ISS Ringkas
Sistem Pemberitahuan ISS Ringkas
Sistem Pemberitahuan ISS Ringkas
Sistem Pemberitahuan ISS Ringkas

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

Perkakasan Mudah
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

Lakaran
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

Lakaran Eric
Lakaran Eric
Lakaran Eric
Lakaran Eric
Lakaran Eric
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

Kod PHP
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

Image
Image

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: