Isi kandungan:
- Bekalan
- Langkah 1: Muat turun, Ubah Fail dan Cetak Fail 3D
- Langkah 2: Komponen Solder / Assemble - Bahagian a (Pad Kekunci dan Nombor Sampingan)
- Langkah 3: Komponen Pateri / Pasang - Bahagian B (Sayap Bulu dan Sensor)
- Langkah 4: Komponen Solder / Assemble - Bahagian C (Papan Kekunci ke Sensor Kapasitif dan Feathewing dalam Kes)
- Langkah 5: PILIHAN - Komponen Pateri / Pasang - Bahagian D (Bulu INA219)
- Langkah 6: Skru penutup belakang dan pasangkan USB
- Langkah 7: Siapkan Persekitaran AWS
- Langkah 8: Muat turun Kekunci Perisian dan Sediakan Perkhidmatan Pihak Ketiga
- Langkah 9: Ubah suai dan Muat Naik Kod AWS
- Langkah 10: Sediakan Arduino IDE dan Muat turun Perpustakaan
- Langkah 11: Kemas kini & Pasang Arduino Code dan Libatkan
Video: Buat Begitu! Komputer Kejuruteraan Mini Star Trek TNG: 11 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Gambaran keseluruhan
Saya membesar menonton Star Trek: The Next Generation. Saya selalu mahu membina peranti bertema Star Trek, jadi saya akhirnya dapat membuat semula salah satu projek lama saya untuk membuat Terminal Paparan Star Trek.
Terminal memberikan maklumat berikut:
- Cuaca - menggunakan Perkhidmatan Cuaca Nasional
- Suhu Dalaman, Kelembapan dan Kekuatan Organik Volatil (VOC) kekuatan
- Artikel Berita - dari News.org
- Jadual (dengan fungsi penggera) - dari Microsoft Outlook
- Maklumat Kecergasan (Langkah, Minit Bergerak, Titik Jantung, Berat, Kalori Dibakar) - dari Google Fitness
- carta kod warna Perintang
- Kalkulator Perintang LED (untuk menentukan nilai perintang berdasarkan arus dan kuasa sumber)
- Alat Pengukuran Kuasa dan Semasa
Maklumat ini disediakan melalui gabungan API dan sensor perkakasan. Saya memanfaatkan ESP32 untuk mikrokontroler, dan memanfaatkan AWS Cloud untuk semua pengumpulan dan pengumpulan data.
Saya juga memasukkan beberapa "telur Paskah":
-
Penghormatan Ron McNair - Dr McNair adalah sebab saya menjadi jurutera; dia membesar 45 minit dari kampung halaman saya. Dia mati dalam letupan Challenger.
- Nama kapal bintang saya adalah "USS Ronald E McNair"
- Nombor Pendaftaran adalah dari tarikh lahir Sr McNair; Awalan Kod adalah hari dia kehilangan nyawanya.
- Penggunaan "kod awalan" adalah anggukan kepada Star Trek: Wrath of Khan (filem Star Trek terhebat sepanjang masa; jangan @ saya).
- Nombor sebelah kanan kes terminal merujuk kepada persaudaraan saya (1906 - Alpha Phi Alpha) dan alma mater serta bidang pengajian saya - (University of Oklahoma, College of Engineering)
Anda mempunyai pilihan untuk menyesuaikan penomboran, huruf, dan nama kapal, pendaftaran, dll untuk "telur paskah" anda sendiri.
Latar belakang
Tahun lalu, saya memerlukan kaedah kos rendah untuk mengukur bekalan kuasa dan bateri untuk projek yang boleh dipakai. Saya membeli Adafruit INA219 Featherwing, dan menggunakan beberapa alat ganti untuk membina peranti Pengukuran Daya yang ringkas (anda boleh membaca lebih lanjut mengenainya di sini).
Tahun ini, saya memutuskan untuk menaik taraf peranti … untuk menjadikannya lebih "berteknologi". Pada asalnya saya merancang untuk membina tricorder Star Trek yang berfungsi (versi Mark IV TR-590 Mark IX, bagi mereka yang peduli) … tetapi saya dengan cepat menyedari bahawa lebih masuk akal untuk membuat sesuatu yang akan duduk di meja saya (maksud saya, mengapa pergi ke semua masalah ini untuk membuat alat yang sejuk, hanya untuk menutupnya dan memasukkannya ke dalam laci apabila tidak digunakan).
Jadi, saya beralih untuk membuat versi paparan komputer yang anda lihat di Star Trek TNG atau Voyager (atau pelbagai filem). Saya bermain-main dengan reka bentuk yang berbeza, kemudian menemui versi yang dibuat oleh Ruiz Brothers of Adafruit. Adafruit melakukan tugas yang sangat baik untuk menyediakan fail sumber untuk projek bercetak 3D mereka, jadi saya dapat mengambil versi asalnya dan memperbaikinya untuk perkakasan, butang, dan periferal saya yang lain.
Perkara yang perlu diketahui sebelum anda meneruskan
- Saya memberikan arahan langkah demi langkah untuk membuat versi projek saya; namun, saya tidak memperincikan langkah-langkah tertentu (saya akan pautan ke arahan atau dokumentasi sokongan)
-
Ini adalah projek yang kompleks. Ini adalah "membuat pelbagai disiplin", yang memerlukan kemahiran berikut
- Arduino IDE
- AWS - Anda memerlukan akaun dan perlu memahami S3, Lambda, dan Node JS
- Pematerian
- Percetakan 3D
- Terdapat pilihan tambahan untuk meningkatkan projek untuk mendapatkan maklumat Kalendar dan Kecergasan. Fungsinya termasuk dalam pangkalan data; namun anda perlu membuat "aplikasi" di awan Azure dan Google untuk menyokong ciri tersebut.
- Ini akhirnya dapat disesuaikan … anda boleh menukar Sensor Semasa dengan sayap bulu yang lain Anda boleh menggunakan kombinasi bulu / wifi yang berbeza.
Bekalan
Komponen elektronik
- Adafruit ESP32 Huzzah Feather
- Kit Mini Adafruit Featherwing Tripler
- Pecahan Sensor Sentuh Kapasitif 12 Kekunci Adafruit
- Adafruit TFT FeatherWing - Skrin Sentuh 3,5 "480x320
- Adafruit BME680 - Suhu, Kelembapan, Tekanan dan Sensor Gas
- Pemasangan Panel DC 2.1 Jack Barrel (2)
- Bateri Lithium Ion Polymer - 3.7 V 500mAh
- Piezo Buzzer
- Kabel USB Mirco dan pengecas 5V (pengecas telefon USB biasa akan berfungsi)
- Tembaga Foil Tape dengan pelekat
- Pilihan - Adafruit INA219 Featherwing
- Pilihan - 2.1 Palam lelaki - (untuk digunakan dengan Sensor Semasa INA219)
Pautan ke semua komponen elektronik kecuali palam 2.1:
Komponen Filamen 3D Dan Komponen Cat / Pengamplasan Pilihan
- Proto Pasta Konduktif PLA
- Filamen 3D tambahan - Saya menggunakan 4 warna - Kelabu, Hitam, Aqua (biru muda) dan Putih
- Muncung.25 dan 0.4 mm (saya menggunakan 0.25 untuk butiran huruf).
Komponen dan Alatan Pemasangan Perkakasan
- Skru M2x5 dan M3x5
- Pin Header Sudut Lurus dan Kanan (Lihat senarai keinginan Adafruit untuk pautan)
- Soldering Iron (dan spool solder, tip tinner, solder sucker, dll.)
- Kit Pemutar Skru Kepala Philips
- Susut Balut
- Strawed Wire 22AWG - lima atau enam warna
- Solid Wire 22AWG - lima atau enam warna
- PCB Vise and Heling hands (pilihan, tetapi memudahkan pematerian)
- Pemotong Kawat Diagonal
- Pelucut Kawat
- Pisau Xacto (untuk mengeluarkan sokongan dari bahagian pencetak 3D)
- Pencetak 3D (jika anda merancang untuk mencetak sendiri)
- Dempul atau pita (untuk melekatkan bateri ke bahagian dalam cetakan)
- Kaliper digital
- Lekat Krazy
- Pilihan - Sarung Tangan Pakai Nitril
- Pilihan - Tikar Pematerian (pilihan, tetapi melindungi permukaan)
Catatan: jika anda tidak mempunyai alat ini, saya cadangkan anda melihat laman web Becky Stern untuk mendapatkan cadangan pilihan yang baik.
Perisian
Langkah 1: Muat turun, Ubah Fail dan Cetak Fail 3D
Anda boleh menghantar fail ke perkhidmatan percetakan 3D (seperti 3D Hub) atau anda boleh mencetak sendiri. Fail boleh didapati di PrusaPrinters.org.
Kes ini adalah gabungan dari Jam Penggera Portal Py yang dipaparkan di laman web Adafruit. Projek saya menggunakan TFT yang serupa, jadi saya dapat meminimumkan jumlah kerja reka bentuk yang diperlukan untuk membuat kes itu berfungsi dengan aksesori saya.
Saya menggunakan tetapan berikut untuk mencetak:
- Depan dan Belakang - dicetak pada ketinggian Lapisan 0.2mm dengan muncung 0.4mm, tidak ada sokongan
- Nombor Sampingan - dicetak pada ketinggian Lapisan 0.10mm dengan muncung 0.25mm, tanpa penyokong
- Kekunci - dicetak pada ketinggian Lapisan 0.2mm dengan muncung 0.4mm. Anda perlu mencetak 7 dan anda perlu mencetak dengan Proto-Pasta Conductive Filament.
-
Sarung - dicetak pada ketinggian Lapisan 0.2mm.
Sokongan diperlukan, tetapi tidak diperlukan di mana-mana (hanya di sisi dan tengah tempat papan kekunci duduk
Beberapa perkara yang harus anda ketahui:
- Prusa MK3 membolehkan anda menukar warna pada ketinggian lapisan yang berbeza. Saya menggunakan ciri ini untuk bahagian nombor sisi.
-
Juga, berkenaan dengan nombor nombor sampingan:
- Krew produksi Star Trek TNG akan menaburkan telur paskah di alat peraga. Sekiranya anda melihat pelbagai plak dan panel, anda akan melihat nama orang, lirik lagu, dan lain-lain. Saya ingin membuat "telur Paskah" saya sendiri untuk nombor sampingan, jadi saya menggunakan "06" - yang merujuk kepada persaudaraan saya (dibentuk pada tahun 1906), dan "OUCOE" - yang merujuk kepada alma mater saya (University of Oklahoma, College of Engineering).
- Saya membuat bahagian kosong "side_number" yang boleh anda ubah suai untuk membuat nombor dan teks tersuai anda sendiri.
Langkah 2: Komponen Solder / Assemble - Bahagian a (Pad Kekunci dan Nombor Sampingan)
Pertama, kita akan melekatkan nombor sisi. Gunakan sedikit gam untuk meletakkan nombor sisi di tempatnya.
Seterusnya, kami akan memasang pad kekunci
-
Anda perlu memotong 7 helai dawai yang terdampar - masing-masing sepanjang 10-12 inci. Ini akan disambungkan ke Pin 0-6 sensor sentuh kapasitif. Saya cadangkan anda menggunakan warna yang berbeza (dan tuliskan pemetaan warna / pin, kerana anda memerlukan maklumat ini kemudian). Saya menggunakan kombinasi warna berikut:
- Kuning - Pin 0 / Butang 1
- Kelabu - Pin 1 / Butang 2
- Merah - Pin 2 / Butang 3
- Biru - Pin 3 // Butang 4
- Hijau - Pin 4 // Butang 5
- Putih - Pin 5 // Butang 6
- Hitam - Pin 6 // Butang 7
- Jalur 1/2 in dari hujung setiap wayar.
- Potong 7 keping pita konduktif (masing-masing selebar 1/2 inci) dan pateri wayar ke sisi tembaga pita.
- Tanggalkan pelekat pelekat dan lekatkan pada bahagian bawah kunci. Anda mungkin perlu memotong pita tembaga.
Catatan: Kunci boleh dilekatkan dari bawah (sehingga rata dengan bahagian atas) atau terpaku dari atas (sehingga mereka "melayang" beberapa mm dari atas). Saya memilih untuk melekatkan tambang dari atas.
Setelah melengkapkan semua 7, gunakan sebilangan kecil gam melekatkan kunci pada pad kekunci. Saya merasa lebih mudah untuk:
- Pertama "ular" wayar melalui lubang kunci.
- Kemudian letakkan sedikit gam di rabung kunci
- Letakkan kunci dengan pantas.
Nota: Krazy Glue berfungsi paling baik di sini; anda mungkin mahu menggunakan sarung tangan untuk mengehadkan kemalangan dan kemungkinan kerengsaan kulit.
Langkah 3: Komponen Pateri / Pasang - Bahagian B (Sayap Bulu dan Sensor)
Langkah seterusnya adalah menyediakan dan memasang komponen perkakasan. Pada akhirnya, ini bermaksud penyisipan pin dan wayar kepala untuk digunakan kemudian. Panduan ini menganggap bahawa anda selesa dengan pematerian; jika tidak, lihat "Panduan Pematerian Cemerlang" ini dari Adafruit.
Mula-mula kita akan menyediakan bahan. Untuk langkah ini, anda memerlukan:
- TFT 3.5 Featherwing
- Bulu ESP32
- INA219 Featherwing
- Tripler Featherwing
- Sensor Sentuhan Kapasitif MPR121
- Sensor BME680
- Pin Header Sudut Lurus dan Kanan
- Kawat Pepejal dan Terdampar
- Alat Memateri dan Menolong tangan
- Pemotong wayar pepenjuru dan pelucut wayar
- Kaliper
Nota: Saya cadangkan anda membaca langkah ini terlebih dahulu dan memotong semua wayar dan tajuk sebelum anda mula menyolder. Dengan cara itu, anda tidak perlu berhenti untuk mengukur / memotong.
Sediakan TFT 3.5 Featherwing
TFT siap digunakan di luar kotak dengan satu-satunya penyesuaian. Anda perlu menyolder wayar antara pad "Lite" dan pad solder pin. Kod kami menggunakan ESP32 Pin 21 untuk mengawal TFT lite. Susun TFT dengan cara "panjang", dengan butang reset di bahagian bawah. Pin 21 akan menjadi pin kiri bawah.
Potong sepotong dawai 40mm yang terdampar. Jalur hujung sehingga wayar beberapa milimeter ditunjukkan pada setiap hujungnya. Dengan menggunakan solder anda, pateri dengan hati-hati ke kedua pin.
Catatan: anda hanya memerlukan panjang sekitar 35mm … sehingga anda boleh memotong wayar anda mengikut keperluan. Juga, saya dapati bahawa menambahkan solder ke pad, kemudian ke wayar, kemudian menyolder wayar ke pad adalah pendekatan yang paling mudah. Akhirnya - pad ini kecil … jika anda tidak selesa, anda boleh melewati langkah ini: hanya untuk mematikan TFT dengan pad kekunci.
Sediakan Bulu ESP32
Anda perlu memasukkan pin header lelaki standard ke ESP32. ESP32 anda harus disertakan dengan header, walaupun anda mungkin perlu memotongnya untuk mencapai panjang yang betul (16 pin di sisi panjang; 12 pin di sisi pendek). Pin header dibuat untuk "snap snap", jadi anda boleh menggunakan pemotong pepenjuru anda untuk memotong header ke panjang yang betul. Sekali lagi, Adafruit mempunyai petunjuk hebat tentang cara melakukannya, jadi periksa jika anda memerlukan bimbingan.
PILIHAN - Siapkan Featherwing INA219
Pertama, solder header male ke featherwing (menggunakan arahan yang sama seperti yang digunakan untuk ESP32). Seterusnya memotong empat wayar terdampar sepanjang 20mm. Saya akan menjadikan 2 HITAM dan yang lain warna yang berbeza. Saya menggunakan GREY dan BLUE untuk pilihan warna saya.
Jalur hujung wayar sehingga wayar tembaga 3-4mm terkena pada setiap hujungnya. Anda akan menyolder setiap wayar seperti di bawah:
- GREY -> V + (tambah)
- BIRU -> V- (tolak)
- HITAM -> GND (tanah)
- HITAM -> GND (tanah)
Tinggalkan hujung wayar yang lain pada masa ini; akhirnya kita akan memasangkannya ke palam DC 2.1.
Pasang Buzzer Piezo
INA Featherwing dilengkapi dengan kawasan prototaip kecil; kami akan menggunakannya untuk memasang piezo kami. Piezo akan memberi kemampuan kepada projek kami untuk memberi isyarat bunyi, penggera, dll.
Piezo menyambung ke ESP32 PIN 13; ini berkaitan dengan pin di sebelah pin USB pada sayap bulu (lihat gambar untuk anak panah). Pin piezo yang lain menghubungkan ke tanah. Pin pieze cukup panjang untuk menyoldernya terus ke sayap bulu … anda hanya perlu membengkokkan pin ke bentuk "lelaki berkaki busur" (lihat gambar). Setelah pin dipasang, gunakan tangan penolong (atau pita) untuk menahan piezo di tempatnya, dan solder dari bahagian bawah bulu bulu.
Catatan - Sekiranya anda tidak menggunakan INA219, maka anda perlu memasangkan piezo terus ke papan bulu.
Sediakan Tripler Featherwing
Featherwing menjimatkan banyak pematerian; ia dapat menahan 3 bulu / bulu bulu … jadi kami akan menggunakannya untuk membuat sambungan elektrik antara TFT, ESP32, INA219 (serta piezo dan pin TFT Lite).
Untuk membuat sambungan dengan betul, kita perlu menyolder dua pasang header susun dan satu pasang header lelaki standard.
- Tandukan lelaki biasa akan diteruskan di tempat "teratas", tetapi akan disolder ke bahagian bawah Tripler.
- Dua header susun akan disolder di tempat 2 dan 3, di bahagian atas Tripler.
Ini agak membingungkan, jadi pastikan untuk melihat gambar untuk memahami di mana setiap tajuk diletakkan. Selain itu, gabungan PCB Vise dan Helping Hands dapat membantu pematerian komponen.
Sediakan Sensor BME 680 dan Sensor Sentuh Kapasitif MPR121
Dua sensor terakhir adalah pemasangan yang paling sukar. Kita perlu melekatkan pin pengepala ke papan pelarian sebelum menyelesaikan pemasangan.
Sensor BME terpasang pada sudut 90, sehingga saya dapat menyelaraskan sensor ke lubang casing (sehingga sensor dapat menangkap suhu, gas, kelembapan). Anda perlu menyolatkan pin sudut tepat ke lubang. Lihat gambar untuk memastikan anda menyelaraskannya dengan betul.
Sensor Capacitive Touch adalah mudah - hanya pasangkan pin penyambung lelaki lurus, seperti yang dinyatakan di sini. Catatan: anda TIDAK HARUS memateri pin ke Cap Sentuh Capacitive (0 - 11).
Pasang Sensor BME 680 dan MPR121 ke Tripler Board
Kedua-dua Sensor berkomunikasi melalui I2C… yang bermaksud kita hanya perlu membuat 4 sambungan antara papan pelarian dan Featherwing. Untuk kesederhanaan, saya menyelesaikan semua sambungan antara papan.
BME 680
Untuk sensor ini, saya menggunakan Helping Hands dan PCB Vise untuk menahan kedua-dua komponen di tempatnya (lihat gambar di atas). Sensor BME680 harus diletakkan di hujung bulu. Lihat gambar di atas untuk mengesahkan penempatan.
Proses pematerian sambungan membosankan, jadi perlahan-lahan. Saya menggunakan wayar teras pepejal untuk sambungan:
- HITAM - GND
- MERAH - VIN
- KUNING - SCL (pin SCK pada sensor ke
- ORANGE - SDA (pin SDA pada sensor)
Catatan: Pin SCL dan SDA diperlukan untuk kedua sensor, jadi mungkin lebih mudah menggunakan pin SCL atau SDA pada bahagian lain dari Featherwing.
MPR121
Tangan menolong juga membantu ketika menyolder sensor ini di tempatnya (pita juga berfungsi). Kod yang digunakan I2C untuk komunikasi ke ESP32, jadi anda akan menghubungkan pin SCA dan SDA.
Langkah 4: Komponen Solder / Assemble - Bahagian C (Papan Kekunci ke Sensor Kapasitif dan Feathewing dalam Kes)
Anda akan memateri wayar dari Pad Kekunci ke sensor Sentuh Kapasitif dalam langkah ini. Gunakan pemetaan warna yang sama dari sebelumnya. Sekiranya anda mengikuti skema warna saya, maka anda akan memateri wayar berwarna seperti berikut:
- Kuning - Pin 0 / Butang 1
- Kelabu - Pin 1 / Butang 2
- Merah - Pin 2 / Butang 3
- Biru - Pin 3 / Butang 4
- Hijau - Pin 4 / Butang 5
- Putih - Pin 5 / Butang 6
- Hitam - Pin 6 / Butang 7
Setelah pematerian selesai, gunakan tali leher berpusing untuk menahan wayar di tempatnya.
Seterusnya, skru skrin TFT ke bahagian "Depan". Anda akan menggunakan skru M3 (empat keseluruhan). Setelah TFT dipasang, pasangkan bahagian "Depan" ke casing. Sekali lagi, anda akan menggunakan skru M3 (dua).
Seterusnya, pasangkan Featherwing Tripler, dengan semua komponen terpasang, ke TFT.
Catatan - Jika anda merancang untuk menggunakan bateri, pastikan untuk memasangkannya ke port ESP32-JST sebelum memasukkan TFT. Gunakan pita untuk melekatkan bateri ke bahagian bawah casing.
Langkah 5: PILIHAN - Komponen Pateri / Pasang - Bahagian D (Bulu INA219)
Sekiranya anda menggunakan sensor INA219, di sinilah anda memasang wayar ke palam DC.
- Masukkan palam DC ke penutup belakang, dan pasangkannya di tempatnya.
-
Gunakan besi pematerian untuk menyambungkan wayar INA219.
- Wayar Hitam harus pergi ke GROUND untuk setiap palam DC.
- Wayar kelabu harus masuk ke palam INPUT DC
- Wayar Biru harus masuk ke palam OUTPUT.
Langkah 6: Skru penutup belakang dan pasangkan USB
Langkah terakhir dalam pemasangan perkakasan adalah dengan memasang penutup belakang di tempatnya - menggunakan skru M2 (4). Dari sana, pasangkan kabel USB, sambungkan ke PC anda, dan teruskan ke langkah perisian!
Langkah 7: Siapkan Persekitaran AWS
Seperti yang saya nyatakan di intro, premis penyelesaiannya adalah seperti berikut:
- Terminal, dikuasakan oleh ESP32, menggunakan sambungan MQTT (melalui Wifi) untuk berkomunikasi dengan awan AWS.
- Awan AWS melakukan sebahagian besar pemprosesan dan berfungsi sebagai penyampai antara Monitor dan perkhidmatan yang diminta.
Terdapat beberapa perkara yang perlu kita lakukan dalam langkah ini:
Pertama, anda perlu mengatur persekitaran AWS anda, jika anda belum melakukannya. Ini dapat diandaikan dengan andaian bahawa anda telah menyediakan Akaun AWS, jadi arahan untuk menyiapkan akaun cloud tidak termasuk. Oleh itu, langkahnya lurus ke hadapan dan boleh didapati di sini.
Setelah melangkah ke tahap itu, anda perlu membuat beberapa perkhidmatan, jadi log masuk ke konsol AWS.
Buat Perkara dan Muat turun Kekunci
AWS IoT Core memudahkan komunikasi antara awan AWS dan paparan. Anda perlu membuat "benda" dan memuat turun sijil untuk menyokong komunikasi.
[Catatan: kebanyakan arahan ini diambil dari panduan yang ditulis oleh Moheeb Zara, AWS Evangelist]
- Buka konsol AWS dan pilih AWS IoT Core.
- Di konsol AWS IoT, pilih Daftarkan perkara baru, Buat satu perkara.
- Namakan perkara baru "starTrekESP32". Biarkan medan yang tinggal ditetapkan pada lalai mereka. Pilih Seterusnya.
- Pilih Buat sijil. Hanya muat turun cert, kunci peribadi, dan muat turun Amazon Root CA 1 yang diperlukan agar ESP32 dapat disambungkan. Muat turun dan simpan di tempat yang selamat, kerana ia digunakan semasa memprogramkan peranti ESP32.
- Pilih Aktifkan, Lampirkan dasar.
- Langkau menambah dasar, dan pilih Daftar Perkara.
- Di menu sisi konsol AWS IoT, pilih Selamat, Dasar, Buat dasar.
- Namakan polisi AllowEverything. Pilih tab Advanced.
- Tampal dalam templat dasar berikut.
- {{"Versi": "2012-10-17", "Pernyataan": [{"Kesan": "Benarkan", "Tindakan": "iot: *", "Sumber": "*"}]}
- Pilih Buat. (Catatan: Ini hanya disarankan untuk memulakan. Setelah anda merasa selesa dengan semua yang berfungsi, mohon kembali dan ubah ini menjadi sesuatu yang lebih ketat.)
- Di konsol AWS IoT, pilih Selamat, Pensijilan.
- Pilih yang dibuat untuk peranti anda dan pilih Tindakan, Lampirkan dasar.
- Pilih AllowEverything, Attach.
- Sebelum anda pergi, klik "Tetapan" (di menu sebelah kiri). "Titik akhir tersuai" anda akan ditunjukkan; simpan itu ke fail teks … anda akan memerlukannya semasa anda mengkonfigurasi ESP32.
Buat fail Lambda Kosong
Lambda adalah bentuk pengkomputeran tanpa pelayan, jadi kami tidak perlu risau tentang sebarang perkakasan di sini. Pada akhirnya, di sinilah kita akan meletakkan kod yang dikemas kini (yang akan kita lakukan beberapa langkah). Buat masa ini, kami hanya mahu membuat placeholder, jadi…
- Log masuk semula ke konsol AWS (jika anda keluar) dan klik pada Lambda.
- Klik pada butang "Buat Fungsi".
- Pada halaman seterusnya, masukkan nama asas, seperti starTrekDisplay
- Pilih Node.js 12. X
-
Di bawah kebenaran:
- Sekiranya anda mengetahui jalan sekitar Lambda, dan sudah biasa dengannya, maka anda boleh memilih apa sahaja pilihan yang masuk akal. Anda memerlukan kebenaran pada CloudWatch, IotCore, S3 (baca dan tulis).
- Sekiranya anda tidak pasti mengenai kebenaran, pilih "Buat peranan baru dengan kebenaran Lambda asas". Tuliskan nama peranannya. Nanti, kita akan ubah kebenaran.
- Klik Buat Fungsi.
- Selepas satu minit, anda akan memasuki skrin baru dengan coretan kod "hello world". Tatal ke bawah ke Tetapan Asas dan klik "Edit"
- Tukar tamat masa dari 3 saat menjadi 2 minit dan 0 saat. Catatan: kod anda tidak boleh berjalan lebih lama dari 5-10 saat … namun, kami memerlukan masa yang lebih lama untuk pengesahan awal anda dengan Microsoft (untuk fungsi kalendar). Setelah anda mengesahkan, anda boleh mengubahnya menjadi 20 saat.
- Tekan simpan.
Buat Peraturan Iot
- Kekal di konsol Lambda dan tatal ke atas. Pilih "Tambah Pencetus".
- Pilih AWS IoT. Kemudian pilih "Peraturan Khusus".
-
Pilih "Buat Peraturan Baru".
- Nama Peraturan: Sambungan ESP
- Pernyataan pertanyaan peraturan: "PILIH * DARI 'starTrekDisplay / pub'
- Klik "Tambah"
Buat Baldi dan Folder S3
- Navigasi ke AWS Console dan pilih S3.
- Anda memerlukan baldi dan folder untuk menyimpan fail pengesahan. Folder ini mestilah peribadi. Saya cadangkan anda menggunakan baldi yang sudah anda miliki dan beri nama buat folder bernama "starTrekDisplay". Catatan - jika anda tidak mempunyai baldi, buatlah menggunakan arahan di sini.
Kebenaran Kemas kini - Sekiranya anda membenarkan Lambda membuat peranan untuk anda, anda perlu mengikuti langkah ini
- Log masuk ke konsol AWS dan pilih IAM
- Klik ROLES, kemudian pilih nama peranan yang anda buat sebelumnya.
-
Klik pada dasar lampirkan, kemudian pilih dasar berikut:
- AWSIoTFullAccess
- AmazonSNSFullAccess
- CloudWatchFullAccess
- AmazonS3FullAccess
Langkah 8: Muat turun Kekunci Perisian dan Sediakan Perkhidmatan Pihak Ketiga
Saya menggunakan perkhidmatan pihak ketiga berikut dalam projek:
- Worldtime API - untuk masa
- API Perkhidmatan Cuaca Nasional - untuk cuaca
- Microsoft Graph API untuk akses ke kalendar saya
- API Kecergasan Google untuk akses ke maklumat kecergasan
Anda perlu menyediakan akaun dan memuat turun kunci untuk memanfaatkan perkhidmatan yang sama
Worldtime API - untuk masa
API ini tidak memerlukan kunci, jadi tidak ada tindakan yang diperlukan untuk membuat ini berfungsi.
API Perkhidmatan Cuaca Nasional - untuk cuaca
API Perkhidmatan Cuaca Nasional percuma, dan tidak diperlukan kunci API. Namun, mereka meminta agar anda menyampaikan maklumat kontak (dalam bentuk e-mel) dalam setiap permintaan (sebagai bagian dari fail tajuk). Anda akan menambahkan maklumat hubungan ke kod pada langkah seterusnya.
PILIHAN - Microsoft Graph API dan Google Fitness API
Ini adalah bahagian yang paling kompleks dalam penyediaan kod. Peranti kami tidak mempunyai papan kekunci lengkap … oleh itu kami menggunakan sesuatu yang dipanggil OAUTH untuk Peranti Terhad untuk mengakses kalendar kami. Malangnya, anda perlu membuat "aplikasi" Azure dan Aplikasi Google agar anda menggunakan kod OAUTH untuk peranti terhad.
Arahan untuk membuat aplikasi ada di sini untuk Microsoft fand di sini untuk Google. Berikut adalah beberapa perkara yang harus anda ketahui:
- Anda perlu membuat akaun cloud Azure dan Google. Ini percuma, dan anda tidak akan dikenakan sebarang bayaran
-
Microsoft:
- Anda akan diminta untuk menentukan apa yang pengguna dapat menggunakan aplikasi tersebut. Saya cadangkan anda memilih "Akaun di mana-mana direktori organisasi dan akaun Microsoft peribadi". Ini akan membolehkan anda menggunakan akaun Microsoft dan akaun korporat (dalam kebanyakan kes).
- Anda ingin memilih aplikasi "Mudah Alih dan Desktop", namun anda tidak perlu mengisi semua maklumat (kerana ini adalah aplikasi peribadi). Ini bermaksud bahawa anda tidak dapat menjadikan aplikasi anda tersedia untuk dunia…. tetapi tidak mengapa dalam kes ini
- Setelah aplikasi anda disiapkan, anda perlu memilih kebenaran yang diperlukan. Saya meminta kebenaran yang berkaitan dengan profil dan kalendar (lihat gambar di galeri untuk senarai kebenaran penuh). Anda perlu memilih set yang sama. Sekiranya anda menambahkan lebih banyak kebenaran, maka anda perlu mengubah skop dengan betul pada langkah seterusnya.
Langkah 9: Ubah suai dan Muat Naik Kod AWS
Ini boleh diandaikan dengan andaian bahawa anda sudah biasa dengan perkembangan Node.js dan Lambda. Muat turun fail yang dipautkan, dan buat pengubahsuaian untuk mengemas kini:
- Maklumat Aplikasi dan Pelanggan Microsoft
- Kunci Google
- Alamat e-mel untuk penjejakan Perkhidmatan Cuaca Nasional
- Nama baldi S3
- Nama folder S3
- Titik Akhir AWS
Anda juga perlu memuat turun pustaka simpul berikut:
- aws-sdk
- zon waktu momen
- loghat
Setelah perubahan tersebut dibuat, muat naik kod ke lambda placeholder yang anda buat sebelumnya.
Langkah 10: Sediakan Arduino IDE dan Muat turun Perpustakaan
Panduan ini juga menganggap anda sudah biasa dengan Arduino. Anda perlu memastikan IDE anda disiapkan untuk berfungsi dengan Adafruit ESP32. Ikuti arahan di sini jika anda memerlukan bantuan.
Setelah selesai, muat turun perpustakaan berikut:
- Adafruit_GFX (dari pengurus perpustakaan)
- Adafruit_HX8357 (dari pengurus perpustakaan)
- TFT_eSPI (dari pengurus perpustakaan)
- TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
- PubSubClient (dari pengurus perpustakaan)
- ArduinoJson (dari pengurus perpustakaan)
- Adafruit_STMPE610 (dari pengurus perpustakaan)
- Adafruit_MPR121 (dari pengurus perpustakaan)
- Adafruit_INA219 (dari pengurus perpustakaan)
- Adafruit_Sensor (dari pengurus perpustakaan)
- Adafruit_BME680 (dari pengurus perpustakaan)
- Tone32 (https://github.com/lbernstone/Tone)
Seterusnya kita perlu mengubah beberapa perpustakaan:
- Buka folder PubSubClient (dalam folder Arduino / Library) dan buka "PubSubClient.h". Cari nilai untuk MQTT_MAX_PACKET_SIZE dan ubah menjadi 2000.
- Seterusnya, buka folder TFT_eSPI, dan buka fail "User_Setup_Select.h". Komen mana-mana baris "termasuk pengguna_setup …" dan tambahkan baris ini:
#sertakan
Selepas itu, muat turun fail Custom_Tricorder.zip yang dipautkan dan ekstrak fail ".h" ke lokasi "TFT_eSPI / User_Setups" di folder perpustakaan Arduino anda. Saya
Sekarang, kita boleh terus memperbaharui kod Arduino
Langkah 11: Kemas kini & Pasang Arduino Code dan Libatkan
Kod Arduino
Muat turun dan unzip fail yang dipautkan untuk kod Arduino. Pergi ke tab secret.h. Anda perlu mengemas kini perkara berikut:
- WIFI_SSID = kemas kini dengan SSID wifi anda
- WIFI_PASSWORD = kemas kini dengan kata laluan wifi anda
- TIMEZONE = kemas kini dengan zon waktu anda dari senarai ini
- LAT (anda boleh menggunakan perkhidmatan seperti "https://www.latlong.net" untuk mencari Lintang dan Bujur anda
- LNG
- AWS_IOT_ENDPOINT = anda semestinya menyimpannya dari sebelumnya. Nampaknya "dx68asda7sd.iot.us-east1-amazonaws.com"
- AWS_CERT_CA
- AWS_CERT_CRT
- AWS_CERT_PRIVATE
Anda juga akan memuat turun sijil dari langkah sebelumnya. Buka kemudian di editor nota (mis. Notepad) dan tampal teks di antara 'R "EOF (' dan ') EOF";'. Pastikan anda memasukkan "----- BEGIN CERTIFICATE -----" atau "----- BEGIN RSA PRIVATE KEY -----".
Fail Gambar
ESP32 dilengkapi dengan sistem fail kecil. Kami menggunakan sistem fail ini untuk menyimpan gambar untuk program kami. Anda perlu memasang alat yang membolehkan anda memuat naik fail.
- Pertama, lawati tutorial mendalam mengenai Random Nerd Tutorials.
- Setelah berjaya, anda boleh memuat naik fail dalam folder data (juga disertakan dalam fail zip).
Terlibat
Muat naik kod Arduino terakhir, dan anda sudah selesai!
Catatan - Nama Star Trek dan Star Trek dimiliki oleh CBS / Paramount. Mereka mempunyai dasar yang cukup lemah dalam hal cosplay dan fiksyen peminat - sila baca di sini jika anda mempunyai pertanyaan.
Hadiah Pertama dalam Peraduan Fandom
Disyorkan:
Cermin Tidak-Begitu-Pintar-Tetapi-Sangat-Baik-Namun-Sedikit-Menyeramkan: 5 Langkah (dengan Gambar)
Cermin Bukan-Begitu-Pintar-Tetapi-Sangat-Bermanfaat-Namun-Sedikit-Sedap-Menyeramkan: Memerlukan cermin tetapi tidak bersedia menambahkan objek pintar lain ke rumah anda? Maka Cermin Tidak-Begitu-Pintar-Tetapi-Sangat-Bermanfaat-Namun-Sedikit-Sedap-menyeramkan ini sesuai untuk anda
OAREE - 3D Printed - Robot Menghindari Robot untuk Pendidikan Kejuruteraan (OAREE) Dengan Arduino: 5 Langkah (dengan Gambar)
OAREE - 3D Printed - Robot Mengelakkan Halangan untuk Pendidikan Kejuruteraan (OAREE) Dengan Arduino: Reka bentuk OAREE (Robot Mengelakkan Halangan untuk Pendidikan Kejuruteraan): Matlamat yang boleh dipesan ini adalah merancang robot OAR (Robot Mengelakkan Halangan) yang ringkas / padat, 3D boleh dicetak, senang dipasang, menggunakan servo putaran berterusan untuk movem
Permainan Reaksi- Projek Kejuruteraan Komputer: 3 Langkah
Permainan Reaksi- Projek Kejuruteraan Komputer: Permainan reaksi betul-betul seperti namanya, ia menguji kelajuan reaksi anda. Anda mungkin bertanya apa faedah pelayan ini di luar hiburan, anda juga boleh menggunakannya untuk individu yang menjalani pemulihan dari pembedahan atau kemalangan. Reaksi mereka
Final Kejuruteraan Komputer Simon Says Game: 3 Steps
Final Kejuruteraan Komputer Simon Says Game: Idea Saya: Projek saya adalah Simon Says Game. Dalam permainan ini terdapat empat butang LED dan empat. Muzik akan dimainkan dari bel sementara lampu LED menyala dengan muzik. Maka permainan akan dimulakan. LED akan menyala dan anda perlu mengklik pantat
Buat Star Trek Communicator Edition RAZR: 3 Langkah (dengan Gambar)
Buat Star Trek Communicator Edition RAZR: Oleh kerana Star Trek Communicator menjadi inspirasi untuk telefon balik hari ini, mengapa tidak menjadikan telefon anda lebih menyerupai yang asal. Saya lakukan dan inilah caranya