Daftar Isi:

Sistem Notifikasi ISS Sederhana: 6 Langkah (dengan Gambar)
Sistem Notifikasi ISS Sederhana: 6 Langkah (dengan Gambar)

Video: Sistem Notifikasi ISS Sederhana: 6 Langkah (dengan Gambar)

Video: Sistem Notifikasi ISS Sederhana: 6 Langkah (dengan Gambar)
Video: Membuat realtime notifikasi sederhana dalam bahasa Go 2024, November
Anonim
Sistem Pemberitahuan ISS Sederhana
Sistem Pemberitahuan ISS Sederhana
Sistem Pemberitahuan ISS Sederhana
Sistem Pemberitahuan ISS Sederhana

Apa itu Stasiun Luar Angkasa Internasional dan Mengapa Anda ingin memprediksi di mana letaknya?

Untuk menjawab pertanyaan pertama kita bisa melihat di website NASA untuk jawabannya. Yang singkatnya adalah:

Stasiun Luar Angkasa Internasional adalah pesawat ruang angkasa besar. Ini mengorbit di sekitar Bumi. Ini adalah rumah tempat tinggal para astronot. Stasiun luar angkasa juga merupakan laboratorium sains. Banyak negara bekerja sama untuk membangunnya. Mereka juga bekerja sama untuk menggunakannya. Stasiun luar angkasa terbuat dari banyak bagian. Potongan-potongan itu disatukan di luar angkasa oleh para astronot. Orbit stasiun luar angkasa adalah sekitar 220 mil di atas Bumi. NASA menggunakan stasiun itu untuk belajar tentang hidup dan bekerja di luar angkasa. Pelajaran ini akan membantu NASA menjelajahi luar angkasa.

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

Pertanyaan kedua sedikit lebih sulit untuk dijawab - Tapi saya akan mencoba.

Saya adalah Operator Radio Amatir (atau Operator Radio Ham) - satu hal yang selalu menyenangkan bagi saya adalah menggunakan radio genggam bertenaga rendah (5 watt atau kurang) dan berkomunikasi dengan satelit yang mengorbit. ISS memiliki peralatan radio di dalamnya.

Di awal hari-hari ham saya, saya sering berkomunikasi dengan satelit, bahkan membuat beberapa kontak hanya dengan antena bebek karet - sesuatu yang sangat sulit dilakukan. Saya melakukan beberapa kontak dengan ISS menggunakan APRS (sistem pelaporan paket otomatis) Itu pada tahun 2013 - lama sekali, saya sudah sangat tidak aktif sejak saat itu. Itu adalah sesuatu yang saya ingin kembali ke dirimu.

Pada tahun 2013 saya menulis beberapa skrip PHP untuk baris perintah yang akan memberi tahu saya lokasi ISS, dan membantu memprediksi kapan itu akan di atas kepala. Saat itu saya menggunakan stik kedip, dan warnanya berubah saat ISS mendekat. Berkat kerja di https://open-notify.org dan API-nya, cukup mudah untuk membuatnya.

2018 - 5 tahun kemudian saya akhirnya mengonversi PHP ini ke Arduino C (sebenarnya sangat mudah dilakukan.)

Proyek saya menggunakan D-Duino (yang benar-benar NodeMCU dengan OLED di dalamnya), hanya itu yang ada.

Saya masih menggunakan API yang sama dari

Saya juga menulis beberapa kode untuk menggunakan D1 Mini dan WS2812 Shield (lihat Supervisor Eric Project saya untuk lebih lanjut tentang itu).

Langkah 1: Perangkat Keras Sederhana

Perangkat Keras Sederhana
Perangkat Keras Sederhana

D-Duino (NodeMCU)

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

Itu saja, itu saja yang diperlukan. Tentu saja Anda dapat menggunakan perangkat keras lain - ini akan berfungsi pada perangkat ESP8266 apa pun yang dapat menggunakan I2C OLED. D-Duino sebagian besar adalah NodeMCU dengan tambahan OLED.

Kode dapat ditemukan

Anda harus memasang papan ESP8266 di Arduino IDE. Instruksi dapat ditemukan di sini:

(cara termudah adalah dengan pengelola papan)

Anda juga akan memerlukan beberapa perpustakaan - saya pikir semua ini dapat ditemukan di manajer perpustakaan sekarang (tapi saya tidak 100% yakin tentang itu).

Perpustakaan yang Dibutuhkan: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(Saya tidak yakin dari mana saya mendapatkan TImeLib, dan mungkin disertakan dengan Arduino IDE ??)

Cara paling sederhana untuk menginstal ini adalah menggunakan pengelola perpustakaan. Jika tidak ikuti petunjuk dengan masing-masing perpustakaan.

Langkah 2: Sketsa

Sketsa
Sketsa

Saat ini ada dua sketsa dan tiga skrip PHP yang disertakan dalam repositori github.

DDuino_ISS_notification yang harus digunakan dengan perangkat keras D-Duino dari atas.

Dan EricISSnotification yang menggunakan "Supervisor Eric" saya sebelumnya dari proyek acara "People of Earth". (Lebih lanjut tentang ini nanti)

Di kedua sketsa di dekat garis 30 (atau di suatu tempat yang sangat dekat dengannya) - Anda akan melihat beberapa variabel float yang disebut mylat dan mylon. Anda perlu mengubah dua garis ini dengan Lintang dan Bujur Anda - jika Anda tidak tahu Lat dan Lon Anda, Anda dapat menggunakan situs web ini https://www.latlong.net Pusat kota Anda akan baik-baik saja. Itu tidak harus cocok dengan garis lintang atau bujur Anda yang tepat. Sketsa melakukan pembulatan, dan matematika lainnya untuk menghasilkan perkiraan jarak ISS dalam US Miles.

Saya percaya ini adalah satu-satunya hal yang perlu diubah dalam sketsa.

Matematika untuk perhitungan jarak didasarkan pada jarak lingkaran besar antara dua titik, dan formal dapat ditemukan di sini -

Situs ini memberikan banyak informasi tentang cara menghitung jarak antara dua garis lintang dan garis bujur serta bantalan. Kami tidak menggunakan perhitungan bantalan untuk ini.

Agar formal berfungsi, kita perlu mendapatkan theta dan mengubah beberapa derajat menjadi berseri-seri, dan sebaliknya, berseri-seri ke derajat. Karena Arduino tidak melakukan matematika dengan baik, kita harus membantunya sedikit dengan konversi.

batal getDistance() {

float theta, dist, mil;

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

mil = jarak * 60 * 1,1515;

jarak = mil;

}

float deg2rad(float n) {

float radian = (n * 71)/4068;

kembali radian;

}

float rad2deg(float n) {

derajat float = (n*4068)/71;

gelar kembali;

}

Sebagian besar matematika dilakukan di dekat garis 127 - JIKA Anda ingin jarak yang berbeda (misalnya KM atau Mil Laut)

Anda dapat mengubah "mil = dist * 60 * 1.1515;" garis.

Untuk KM itu akan menjadi seperti "mil = (dist*60*1.1155) * 1.609344;"

Untuk Mil Laut sesuatu seperti "mil = (dist*60*1.1155)*0.8684;"

Anda mungkin juga ingin mengubah garis cetak Serial dan garis tampilan OLED yang mengatakan mil ke pengukuran baru Anda.

Yang merupakan baris 86 dan 96 dalam sketsa DDuino_ISS_notification.

Langkah 3: Sketsa Eric

Sketsa Eric
Sketsa Eric
Sketsa Eric
Sketsa Eric
Sketsa Eric
Sketsa Eric

Supervisor Eric adalah AI atau alien dari TBS TV People of Earth, Silakan lihat Instructable saya yang lain di build saya.

Yang paling dasar yang Anda perlukan untuk sistem notifikasi ini adalah D1 Mini dan pelindung WS2812 - menyimpannya di dalam kotak yang bagus dengan lensa yang bagus membuatnya terlihat - sangat bagus.

Sekali lagi, setiap ESP8266 dengan piksel WS2812 harus berfungsi, benar-benar tidak ada keajaiban yang terjadi di sini - Perisai WS2812 terhubung ke D2 pada D1 mini (yang saya yakini adalah pin 4 pada papan NodeMCU, dan mungkin papan ESP8266 lainnya).

Untuk sketsa:

Seperti di atas Anda perlu mengubah garis lintang dan garis bujur pada sketsa di dekat garis 27. Dan seperti di atas sketsa ini juga menghitung jarak antara garis lintang dan garis bujur. Berbeda dengan sketsa di atas, tampilan ini hanya dengan WS2812 Neopixel LED.

Matematikanya mendekati garis 96, tetapi sebaliknya sama seperti di atas. Masih ada output serial jika Anda ingin melihat apa yang terjadi. Sketsa ini hanya melakukan perhitungan lokasi dan jarak ISS - tidak melakukan prediksi lintasan atau berapa banyak orang di luar angkasa.

* Perlu dicatat bahwa jarak di sini dalam Miles, dapat diubah jika Anda mau, tetapi Anda perlu membuat beberapa perubahan lagi untuk unit Anda. *

Dekat Jalur 116:

batal setWarna() {

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

if (distance =1151) {colorDisplay(strip. Color(255, 153, 0), p);} //terlihat lebih kuning bagi saya

if (jarak = 951) {colorDisplay(strip. Color(255, 255, 0), p);} //terlihat hijau/kuning bagi saya

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

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

}

Satuannya dalam mil, dan jika Anda perlu mengubah ke KM atau NM, Anda juga ingin mengubah garis ini.

Apa yang terjadi di sini Anda, Pada 1350 mil, ISS hanya di cakrawala dan Anda dapat mulai mendengar transponder dari radio - itu tidak bagus, dan komunikasi pada titik ini tidak dapat benar-benar terjadi. LED berubah MERAH - ini adalah peringatan - ISS semakin dekat.

Setelah waktu yang singkat, atau jika ISS berada di antara 1150 dan 1200 mil, LED akan berubah menjadi oranye - ini benar-benar terlihat lebih kuning tetapi mendukung menjadi oranye. - Pada 1.150 mil Anda akan mulai mendengar lebih banyak - komunikasi dua arah mungkin masih tidak dapat dilakukan pada HT 5 watt.

Antara 950 dan 1150 mil - LED akan berubah menjadi kuning - Anda memiliki peluang yang layak untuk membuat kontak - masih tidak bagus, tetapi setidaknya mungkin pada saat ini (Kuning terlihat lebih hijau bagi saya daripada kuning - jadi ada hal lain yang berfungsi pada)

Di bawah 950 mil LED akan menjadi HIJAU solid - dan kontak dua arah dapat dibuat.

Saat ISS menjauh dari LED akan berubah dari Hijau ke Kuning ke Oranye ke Merah dan akhirnya ke OFF.

Perlu dicatat di sini, ini semua terjadi dengan sangat cepat - sebagian besar lintasan di daerah saya berlangsung kurang dari 10 menit, dan waktu kontak normal yang dapat digunakan adalah di bawah 5 menit.

Perlu juga dicatat bahwa ISS dapat mengubah lokasinya, dan bahwa API mungkin diperbarui atau tidak - jadi meskipun Anda memiliki lampu hijau - Anda mungkin tidak mendengar apa pun.

** Menjalankan peralatan amatir juga dilakukan secara opsional dan sukarela, dan ketika mereka mencoba menjalankan peralatan, ada saatnya mereka harus mematikannya untuk mendapatkan daya, atau karena apa yang perlu mereka lakukan. Itu selalu merupakan ide yang baik untuk memeriksa situs web AMsat atau ARISS **

Langkah 4: Kode PHP

Kode PHP
Kode PHP

Di repositori github, saya telah memasukkan kode PHP saya dari 2013.

Kode dirancang untuk dijalankan dari CLI (atau baris perintah). Sudah lama sejak saya menulis ini, tetapi saya pikir satu-satunya persyaratan adalah mengaktifkan ekstensi JSON.

Skripnya masih berfungsi, dan jika Anda ingin menjalankannya, silakan lakukan!

Untuk Pengguna Windows ada informasi di sini tentang menginstal PHP

Pastikan untuk menginstal versi CLI. Saya pikir saat Anda menginstal, Anda dapat memilih ekstensi mana yang akan diaktifkan.

Pengguna Linux bergantung pada distro Anda - saya menggunakan distro berbasis Ubuntu - dan sinaptik sebagai manajer paket saya.

Anda akan menginginkan 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. Sisanya harus ditemukan di manajer paket pilihan Anda atau di situs web

Dua skrip perlu diedit dengan garis lintang dan bujur Anda - tidak terlalu panjang, dan yang perlu diubah ada di bagian atas skrip. Mereka adalah iss-location.php dan iss-pass-api.php

iss-location.php memiliki panggilan tongkat kedip lama saya yang tersisa di dalamnya - saya tidak yakin itu berfungsi lagi - tetapi Anda dapat melihat saya mengubah LED dengan cara yang sama seperti yang saya lakukan dengan "Pemberitahuan Eric" saya. Saya tidak berpikir mereka menyebabkan masalah, tetapi Anda mungkin ingin mengomentarinya.

iss-pass-api.php menggunakan waktu epoch dan memberikan waktu lokal dari prediksi pass. Sejujurnya saya lebih suka versi PHP dari skrip ini jika dibandingkan dengan versi DDuino (yang saat ini hanya melakukan prediksi UTC)

Versi PHP juga diformat lebih bagus untuk tampilan - tapi itu benar-benar hal yang kecil.

Skrip PHP terakhir adalah iss-people.php - dan akan menampilkan nama dan pesawat luar angkasa yang mereka gunakan. Itu saja. (Dan informasi ini tidak sering berubah)

Dasar-dasar menjalankan skrip PHP dari baris perintah adalah:

$ php iss-people.php

File PHP adalah file teks, dan dapat dibuka oleh editor teks apa pun. Pengguna Windows Saya pikir saya menyimpan ini sehingga mereka memiliki pengembalian jalur dan kereta. JIKA tidak https://www.editpadlite.com/ mungkin bekerja untuk mereka.

Langkah 5: Video dan Informasi ISS & Ham Lainnya

Image
Image

Mendapatkan Lisensi Ham Di Amerika Serikat:

Bukan di AS? Setiap negara memiliki seperangkat aturan dan panduan lisensi sendiri - tanyakan kepada siapa yang mengatur komunikasi Anda (Di sini, di A. S. itulah Komisi Komunikasi Federal FCC)

Hitung jarak, arah, dan lainnya antara titik lintang dan bujur.

Ini akan menjadi jauh lebih sulit untuk dibuat tanpa API yang sangat berguna dari Open Notify

Cara melihat Stasiun Luar Angkasa dari Bumi.

Satelit Amatir Radio AMSAT

Informasi AMSAT di Radio di ISS

Radio Amatir ARISS di Stasiun Luar Angkasa Internasional

ISS Fan Club - Frekuensi ISS

Entri Wikipedia di APRS

APRS.org

Langkah 6: Pikiran Terakhir…

Ini adalah proyek yang menyenangkan, dengan perangkat keras yang sangat sederhana.

Ada beberapa hal yang ingin saya ubah, tetapi secara keseluruhan saya sangat senang dengan hasilnya.

Hal-hal yang perlu diubah:

1) Temukan cara untuk mendapatkan prediksi kelulusan dalam waktu setempat, bukan UTC

2) Temukan nomor kode warna yang lebih baik untuk oranye dan kuning.

3) Perbarui agar berfungsi dengan ESP32 X-board, dengan OLED dan 4 Neopiksel.

Jika Anda merasa ini atau proyek saya berguna atau menyenangkan, tolong dukung saya.

Apa pun yang saya dapatkan digunakan untuk membeli lebih banyak suku cadang dan membuat lebih banyak/proyek yang lebih baik.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Direkomendasikan: