Daftar Isi:

SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server: 3 Langkah (dengan Gambar)
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server: 3 Langkah (dengan Gambar)

Video: SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server: 3 Langkah (dengan Gambar)

Video: SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server: 3 Langkah (dengan Gambar)
Video: Perancangan Alat Monitoring Kualitas Udara Dalam Ruangan Berbasis Mikrokontroler - Anjas 2024, Juli
Anonim
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server
SilverLight: Monitor Lingkungan Berbasis Arduino untuk Ruang Server

Suatu kali saya diberi tugas untuk mencari sebuah probe lingkungan untuk memantau suhu di ruang server perusahaan saya. Ide pertama saya adalah: mengapa tidak menggunakan Raspberry PI dan sensor DHT saja, itu dapat diatur dalam waktu kurang dari satu jam termasuk instalasi OS. Untuk ini saya mendapat tanggapan dingin dari orang-orang bossy yang ditutup matanya bahwa kami tidak akan melakukan itu karena akan lebih mahal dalam jam kerja untuk memasangnya daripada membeli perangkat. Harus menerima orang-orang yang berpikiran sempit seperti ini untuk bagian dari hidup saya adalah satu hal dan saya memesan beberapa sampah EATON kelas perusahaan dari Ebay dan menyebutnya tetapi saya memutuskan pada saat itu bahwa untuk ruang server saya sendiri, saya akan membangun Arduino Sumber Terbuka sepenuhnya perangkat berbasis yang akan jauh lebih baik dari apa yang baru saja saya pesan.

Proyek ini diberi kode SilverLight, jangan tanya saya dari mana saya mendapatkan nama-nama ini:) Saya hanya melihat kotak akrilik setengah mengkilap dan memutuskan dengan nama ini, itu tidak ada hubungannya dengan produk microhoof yang saya temukan setelahnya.

Langkah 1: Desain Perangkat Keras

Desain Perangkat Keras
Desain Perangkat Keras
Desain Perangkat Keras
Desain Perangkat Keras
Desain Perangkat Keras
Desain Perangkat Keras

Ikhtisar perangkat keras komersial.

Ok jadi saya bahkan tidak memulai dengan ide bagus siapa untuk menempatkan monitor lingkungan di dalam up tapi jelas ada pasar untuk itu jadi mari kita lihat apa yang bisa dilakukan ini:

KOMPATIBILITAS perangkat pemantauan lingkungan

Jaringan-MS 10/100Mb, PXGUPS, PXGPDP, dan PXGMS.

ConnectUPS-X 10/100Mb, ConnectUPS-BD dan ConnectUPS-E dengan FW V3.01 dan lebih tinggi. DIMENSI (LXWXH)

2,26 x 1,48 x 1,15 (inci) 57,6 x 37,6 x 29,3 (mm) BERAT

1,19 ons (34 gram)

Itu informasi yang sangat berguna bukan? Jangan khawatir karena mereka tidak bisa berbuat banyak. Bahkan untuk memulai UPS Anda perlu memiliki kartu tambahan lain yang mahal untuk ini yang menghubungkannya dengan sensor lingkungan yang Anda beli secara terpisah, biasanya dengan kabel CAT5 standar (bahkan jangan coba mencolokkan apa pun ke port itu karena tidak ada standar tentang itu). Mereka mengklaim perangkat membutuhkan 10 menit untuk "pemanasan" yang pada kenyataannya adalah berjam-jam dan setelah itu voila itu muncul di antarmuka java yang diperbarui secara perlahan dan kami memiliki suhu dan kelembaban. Menyiapkan kondisi berbasis peringatan itu mudah dari titik ini, tetapi siapa yang peduli mari kita membangun sesuatu yang lebih baik.

Proyek ini adalah gabungan dari beberapa proyek saya: stasiun cuaca Natalia, Shadow of phoenix. Kotak ini dapat memantau batasan lingkungan berikut:

  • Indeks suhu/kelembaban/panas
  • Konsentrasi LPG, Asap, Alkohol, Propana, Hidrogen, Metana dan Karbon Monoksida di Udara (MQ2)
  • Sensitivitas matahari (apakah lampu di ruang server?)
  • Sensor gerak PIR (Anda bahkan dapat menyalakan/mematikan lampu secara otomatis mulai sekarang berkat sensor gerak saat seseorang memasuki ruangan)

Semua data ini ditampilkan dengan baik pada layar LCD sementara juga diteruskan ke komputer (Oranye PI Nol) untuk pemrosesan dan peringatan lebih lanjut. Meskipun dimungkinkan untuk menghubungkan sensor digital seperti DHT dan pin digital MQ2 ke OrangePI secara langsung, saya selalu lebih suka menggunakan mikro khusus untuk tugas-tugas ini dan ketika Anda perlu memperbarui LCD juga dan melakukan level rendah lainnya hal-hal yang Arduino tidak ada duanya dan andal dapat berjalan tanpa henti selama bertahun-tahun (pada kenyataannya tidak ada satu pun Arduino yang berjalan 24/7 yang gagal pada saya). OrangePI dengan kekurangannya (asumsikan ini adalah komputer $ 10) seperti tidak dapat digunakan untuk beban kerja yang berat, tidak ada dukungan bsd, wifi terintegrasi kembung dll dapat dengan mudah menangani beban kerja kecil seperti mengambil pembacaan sensor melalui serial (USB) dan memprosesnya.

Ini adalah perangkat keras proyek yang sangat sederhana yang memerlukan komponen berikut:

  • Arduino PRO Mikro
  • Layar LCD 2x16 karakter RGB
  • Modul daya sakelar isolasi AC-DC 220V ke 5V HLK-5M05 (ini sangat bagus untuk proyek Arduino/ESP), ini adalah versi 5V/5W!
  • 2x300ohm resistor
  • 2xleds (merah/hijau)
  • Sensor gerak PIR
  • sensor MQ2
  • DHT22
  • LDR
  • 2X10Kohm resistor
  • Bel
  • Oranye PI Nol
  • kabel data usb mini

Saya pun tidak repot membuat PCB karena ini hanya menggunakan papan tempat memotong roti biasa karena komponennya bisa langsung disambungkan ke Arduino (lihat gambar terlampir):

-DHT22 akan membutuhkan pullup 10K ke VCC (digital)

-LDR akan membutuhkan pulldown 10K ke GND (analog)

-MQ2 dapat langsung dihubungkan ke pin analog (analog) < lebih suka menggunakan analog karena mengapa tidak ketika kita memiliki MCU dengan pin analog di mana kita bisa mendapatkan nilai yang tepat daripada menyesuaikan beberapa pot di bagian belakang perangkat untuk mendapatkan TINGGI atau RENDAH dari itu, karena perekatan dalam desain saya yang tidak dapat diakses. Cek:

-PIR bisa langsung disambungkan ke pin apapun (digital)

-LCD: dapat digerakkan dengan 4 pin, dapat dihubungkan ke pin apa saja (digital) akan membutuhkan +2 RS/E (digital)

-Buzzer: bisa langsung disambungkan ke pin Arduino apa saja (digital)

Pinout yang saya gunakan dapat dilihat di kode. Menghubungkan semuanya bersama-sama setelah ini cukup lurus ke depan, Anda juga dapat melakukannya satu per satu, pastikan 1 sensor berfungsi dengan baik kemudian lanjutkan ke yang berikutnya, semua yang bisa Anda salah adalah dengan tidak sengaja menghubungkan kabel ke tempat yang salah (misalnya menukar vcc /gnd untuk sensor, sejauh ini tidak pernah mematikan perangkat saya). Apa yang akan saya perhatikan di sini bahwa ada terlalu banyak VCC dan GND yang ditumpuk untuk saya, saya tidak dapat memerasnya melalui strip terminal jadi saya menyolder semuanya.

Juga tentang DHT jangan lupa dari proyek saya yang lain: jika Anda memasukkan pustaka DHT ke dalam kode Anda dan sensor DHT tidak terhubung atau DHT salah terhubung (misalnya 11 didefinisikan dalam kode yang Anda gunakan 22) yang dapat mengarah ke program untuk menggantung selamanya di awal.

Tentang sensor pendeteksi gerakan PIR, seperti yang Anda lihat di gambar saya, ada banyak barang palsu palsu ini, bahkan saya akan kesulitan untuk membeli yang asli dari Ebay. Palsu bekerja dengan baik, bahkan dalam jangka panjang tetapi mereka memiliki sirkuit yang dicerminkan yang menyebabkan pin + dan - dibalik, juga ini mudah dikenali dari: datang dengan PCB biru bukan hijau biasa, hilang label untuk potmeter. Saya beruntung menemukan yang asli di kotak saya jika tidak, mengubah posisi akan menutupi 2 led untuk saya. Saya telah menemukan bahwa kedua pot yang diputar ke tengah bekerja untuk saya. Ini akan memberi Anda jangkauan yang cukup panjang untuk penginderaan juga ketika ada gerakan kaki digital akan disimpan di posisi TINGGI selama sekitar satu menit, jadi Anda tidak perlu membuat kode untuk ini. Pada yang palsu, mudah untuk menentukan sisi mana - dan + cukup lihat kaki yang sesuai untuk tutup elektrolit yang terhubung ke pin.

Untuk memotong kotak saya menggunakan kepala dremel berlian (yang berlebihan tetapi bekerja dengan baik) dan mesin bor biasa. Kotak sambungan ini mudah digunakan dan meskipun saya tidak suka merekatkan, saya tidak memiliki sekrup dan baut di tangan saat membangun ini, jadi ambillah tawar-menawar untuk merekatkan sesuatu (yang juga dapat dengan mudah dipanaskan kembali dan dibongkar nanti dengan menggunakan gluegun yang sama tanpa fillament di dalamnya).

Langkah 2: Desain Perangkat Lunak

Desain perangkat lunak
Desain perangkat lunak
Desain perangkat lunak
Desain perangkat lunak

Kode Arduino juga sederhana, pada dasarnya menarik semua pembacaan sensor di awal setiap loop. Menyalakan LED jika ada gerakan atau asap dan juga memainkan suara alarm di buzzer jika ada asap (ini adalah satu-satunya kode pemblokiran jadi saya singkat), kemudian menampilkan data di LCD dan akhirnya mengirimkannya melalui PC dengan periode penahanan 10 detik, tidak membanjiri port.

Proyek ini menggunakan komunikasi satu arah dari Arduino->OrangePI, tidak ada perintah apapun yang diterapkan. Meskipun ini akan sangat mungkin untuk melakukannya seperti yang saya lakukan di salah satu proyek saya yang lain di mana komputer dapat mengirim LCD_PRINT1 atau LCD_PRINT2 untuk menimpa satu baris layar LCD dengan pesannya sendiri (misalnya: alamat ip, waktu aktif, tanggal sistem, penggunaan cpu), area layar sangat kecil untuk menampilkan data dari 3 sensor sehingga saya bahkan tidak repot. Nilai SOL dan SMK keduanya bisa naik hingga 4 digit 0000-1023 yang sudah mengambil 8 karakter berharga di layar.

Dengan LCD Anda dapat melihat trik kecil dalam kode bahwa setelah setiap nilai yang diukur, cetakan spasi putih (" ") diterapkan, kemudian saya memindahkan kursor ke posisi tetap untuk menempatkan ikon dan data baru. Ini ada karena LCD tidak begitu pintar untuk memahami angka, itu hanya menarik apa yang didapatnya dan misalnya jika Anda memiliki nilai solar 525 yang tiba-tiba turun menjadi 3 maka itu akan menampilkan 325 meninggalkan sampah lama di layar di sana.

Kode kontrol C berjalan di OrangePI dan mencatat data lingkungan dan mengirim peringatan email saat diperlukan.

OrangePI menjalankan Armbian (yang pada saat penulisan ini didasarkan pada Debian Stretch). Saya akan memasukkan ini ke dalam bagian perangkat lunak tentang masalah apa yang dipecahkannya. Berikut adalah pengurasan daya rata-rata perangkat:

0,17 A - Hanya Arduino + sensor

0,5-0,62 A - Boot OrangePI

0,31 A - PI Oranye dalam keadaan idle

0.29 A - Orange PI dimatikan (tidak bisa benar-benar mematikannya, tidak memiliki ACPI atau semacamnya)

0,60 A - Uji stres 100% penggunaan CPU pada 4 core

Saya memiliki OrangePI ini di dalam kotak sejak lama. Dengan kernel lama, perangkat menguras begitu banyak arus (seperti yang dikatakan meteran mencapai sekitar 0,63 A) apa yang mungkin tidak dapat disediakan oleh PSU sehingga tidak bisa boot, proses boot macet dan saya mendapatkan 2 led ethernet menyala terus-menerus dan tidak melakukan apa-apa.

Sekarang ini agak mengganggu karena HLK-5M05 mengklaim dapat melakukan 5W pada 5V sehingga mampu memberikan 1 Amp tetapi dengan perangkat ini keluar dari China Anda tidak pernah tahu, puncak 0,63 A jauh lebih rendah dari nilai maks. nilai. Jadi saya menjalankan tes reboot sederhana, dari 10 reboot OrangePI hanya akan boot dua kali dengan sukses, yang hampir membuat saya membuangnya dari proyek karena saya tidak suka perilaku buggy yang tidak konsisten di sirkuit. Jadi saya mulai googling sekitar mungkin ada cara untuk menurunkan konsumsi daya saat boot dari perangkat lunak (karena itu hanya masalah) dan menemukan beberapa artikel berbicara tentang mengutak-atik script.bin tapi itu untuk Orange PI PC dan file hilang dari penyimpanan jadi apa pun sebagai upaya terakhir saya telah melakukan "apt upgrade" ajaib untuk memutakhirkan firmware, kernel, dan yang lainnya, berharap itu akan menguras lebih sedikit dan perangkat dapat boot dan:

Linux silverlight 4.14.18-sunxi #24 SMP Jum 9 Feb 16:24:32 CET 2018 armv7l GNU/Linux

Linux silverlight 4.19.62-sunxi #5.92 SMP Rabu 31 Jul 22:07:23 CEST 2019 armv7l GNU/Linux

Itu berhasil! Melempar perangkat keras ke masalah perangkat lunak biasanya adalah pengembang java yang malas untuk pergi, tetapi dalam kasus ini kami telah menyelesaikan masalah perangkat keras dengan perangkat lunak yang sangat sukses. Saya telah melakukan lebih dari 20 tes reboot perangkat mem-boot setiap kasing. Saya masih akan mencatat bahwa lonjakan daya dari menyalakan Opi (menghubungkan/memutuskan) sangat besar sehingga akan mengatur ulang Arduino kapan saja (reboot sederhana hanya akan mengedipkan LCD tetapi tidak menyebabkan masalah lebih lanjut), tetapi masalah ini tetap ada disembunyikan karena 2 akan di-boot bersama.

Saya juga telah melihat modul kernel:

usb_f_acm u_serial g_serial libcomposite xradio_wlan mac80211 lima sun8i_codec_analog snd_soc_simple_card gpu_sched sun8i_adda_pr_regmap sun4i_i2s snd_soc_simple_card_utils ttm sun4i_gpadc_iio snd_soc_core cfg80211 snd_pcm_dmaengine industrialio snd_pcm snd_timer snd sun8i_ths soundcore cpufreq_dt uio_pdrv_genirq uio thermal_sys pwrseq_simple

Apa yang sebenarnya kita butuhkan dari ini? Ok pwr dan termal mungkin berguna tapi suara, port serial, wifi (sudah rusak hw) kita tidak perlu semua ini bisa masuk daftar hitam. Saya juga akan membuat kernel khusus hanya dengan modul yang diperlukan nanti.

Apa yang kita butuhkan dan tidak dimuat secara default adalah CDC ACM untuk berkomunikasi dengan Arduino, aktifkan dengan:

echo "cdc-acm" >> /etc/modules

Setelah ini, Anda sudah dapat menguji koneksi dengan:

layar /dev/ttyACM0 9600

Anda akan melihat data status dikirim setiap 10 detik.

Peringatan dan pemantauan

Pada peringatan saya baru saja memasukkan panggilan system() dalam kode kontrol C yang menerima data dari serial sehingga tidak diperlukan alat eksternal. Beberapa contoh peringatan:

- Suhu lebih dari 30 C

- Kelembaban melebihi 70% (tidak sehat untuk server)

- Gerakan terdeteksi di ruang (ini bisa mengganggu jika Anda terus berjalan di ruang server Anda)

- Asap atau gas terdeteksi (peringatan lebih dari 100 dapat dianggap serius, saya telah bermain-main dengan sensor ini dan itu menyala untuk banyak hal, misalnya membuat asap di sebelah sensor dengan besi solder menghasilkan sedikit lebih dari 50 saat merokok berikutnya o melonjak hingga 500, bahkan mendeteksi gas dari deodoran biasa dari jauh)

Untuk menyimpan data historis, saya tidak repot-repot mengembangkan alat karena mengapa harus menemukan kembali roda ketika kami mendapatkan kerangka kerja pemantauan yang sangat baik di luar sana. Saya akan menunjukkan contoh bagaimana mengintegrasikan ini ke favorit pribadi saya, Zabbix:

apt-get install zabbix-agent

Tambahkan ke akhir: /etc/zabbix/zabbix_agentd.conf

UserParameter=silverlight.hum, head -1 /dev/shm/silverlight-zbx.log | awk -F", " '{ print $1 }'

UserParameter=silverlight.tmp, head -1 /dev/shm/silverlight-zbx.log | awk -F", " '{ print $2 }' UserParameter=silverlight.sol, head -1 /dev/shm/silverlight-zbx.log | awk -F", " '{ print $4 }' UserParameter=silverlight.mot, head -1 /dev/shm/silverlight-zbx.log | awk -F", " '{ print $5 }' UserParameter=silverlight.smk, head -1 /dev/shm/silverlight-zbx.log | awk -F", " '{ print $6 }'

Menjalankan zabbix_agentd -p sekarang harus mengembalikan nilai yang tepat:

silverlight.hum [t|41]

silverlight.tmp [t|23] silverlight.sol [t|144] silverlight.mot [t|0] silverlight.smk [t|19]

Indeks panas, saya mengumpulkannya tetapi tidak melihat penggunaan praktisnya sehingga baru saja dicatat. Dalam kode kontrol C saya telah menerapkan 2 fungsi logging, yang pertama akan mencatat semua data dalam format ramah pengguna:

[SILVERLIGHT] Data diterima pada 10-09-2019 23:36:08 => Kelembaban: 44, Suhu: 22, Hi: 25, Surya: 0, Gerakan: 0, Asap: 21

[SILVERLIGHT] Data diterima pada 10-09 2019 23:36:18 => Kelembaban: 44, Suhu: 22, Hi: 25, Surya: 0, Gerakan: 0, Asap: 21 [SILVERLIGHT] Data diterima pada 2019-09 -10 23:36:29 => Kelembaban: 44, Suhu: 22, Hi: 25, Surya: 0, Gerakan: 0, Asap: 22 [SILVERLIGHT] Data diterima pada 10-09-2019 23:36:39 => Kelembaban: 44, Suhu: 22, Hai: 25, Surya: 0, Gerakan: 0, Asap: 21

Yang kedua:

void logger2(char *teks) {

FILE *f = fopen("/dev/shm/silverlight-zbx.log", "w"); if (f == NULL) { printf("Kesalahan membuka file log memori!\n"); kembali; } fprintf(f, "%s", teks); ftutup(f); kembali; }

Ini akan menempatkan log 1 liner di memori (hilangkan operasi rw yang tidak perlu pada kartu sd) yang akan selalu ditimpa waktu berikutnya. Log ini hanya akan berisi 6 kolom data dan tanpa stempel waktu, mudah dibaca oleh Zabbix.

Sebagai bonus terakhir: cara memprogram Arduino langsung dari OrangePI sehingga Anda tidak perlu berjalan ke perangkat setiap saat dan mencolokkan laptop Anda.

Ada 2 cara:

-Cara mudah: Instal IDE Arduino lengkap dan perpustakaan menggunakan beberapa desktop jarak jauh seperti X11 dengan penerusan, Xrdp, Xvnc, Nxserver dll

-Cara sulit: Instal Arduino IDE dan gunakan baris perintah

Kami akan melakukan yang sulit kali ini karena saya tidak suka menginstal X11 di server. Untuk ini, Anda memerlukan 6 komponen:

1, Arduino IDE untuk ARM 32 bit ->

2, Python serial -> apt-get install python-serial

3, proyek Arduino Makefile -> git clone

4, perpustakaan DHT

5, definisi papan Sparkfun

6, SilverLight.ino, kode utama

Untuk lebih mudahnya saya sudah bundling file-file yang dibutuhkan untuk 4 point terakhir (sketchbook.tgz) jadi anda hanya perlu 2 point pertama saja

Pertama, yang terbaik adalah membuat pengguna biasa yang memiliki akses rw ke port USB:

adduser perak

usermod -a -G dialout silver

SCP sketchbook.tgz ke perangkat di direktori home pengguna yang baru dibuat dan ekstrak di sana:

cd /rumah/perak

tar xvzf sketchbook.tgz

Untuk memahami sedikit apa yang terjadi di bawah tenda saat Anda menggunakan IDE grafis:

Alur kerja build membangun sketsa Arduino saat menggunakan Arduino IDE dijelaskan di situs web Arduino https://www.arduino.cc/en/Hacking/BuildProcess dan lebih detail di sini: https://www.arduino.cc/ id/Peretasan/Proses Pembangunan

Secara umum, proses build Arduino standar adalah:

Gabungkan file.ino ke dalam file sketsa utama. Transformasi file sketsa utama: tambahkan pernyataan #include; membuat deklarasi fungsi (prototipe) dari semua fungsi dalam file sketsa utama; tambahkan isi file main.cxx dari target ke file sketsa utama. Kompilasi kode ke file objek. Tautkan file objek untuk menghasilkan file.hex yang siap diunggah ke Arduino.

Ada beberapa perbedaan kecil antara proses build standar Arduino dan proses build menggunakan Arduino-Makefile:

Hanya satu file.ino yang didukung. Deklarasi fungsi tidak dibuat secara otomatis dalam file.ino. Pengguna harus berhati-hati dalam membuat deklarasi fungsi yang benar.

Inti dari proses build adalah Makefile. Jangan khawatir, semuanya sudah disiapkan untuk Anda, ini sedikit lebih rumit saat mengkompilasi dengan cara ini untuk papan non standar seperti seri SparkFun.

BOARD_TAG = promikro

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT = /dev/ttyACM0 USER_LIB_PATH = /home/silver/sketchbook/libraries ARDUINO_DIR = /opt/arduino-1.8.9 include /home/silver/sketchbook/Arduino-Makemk/Arduino-Makemkfile

Dan yang perlu Anda ketik adalah: make upload (yang akan membangun file.hex terlebih dahulu kemudian menggunakan avrdude untuk mengunggahnya), itu akan berakhir dengan sesuatu seperti:

mkdir -p build-promicro-16MHzatmega32U4

make reset make[1]: Memasuki direktori '/home/silver/sketchbook' /home/silver/sketchbook/Arduino-Makefile/bin/ard-reset-arduino --caterina /dev/ttyACM0 make[1]: Meninggalkan direktori ' /home/silver/sketchbook' make do_upload make[1]: Masuk ke direktori '/home/silver/sketchbook' /opt/arduino-1.8.9/hardware/tools/avr/bin/avrdude -q -V -p atmega32u4 - C /opt/arduino-1.8.9/hardware/tools/avr/etc/avrdude.conf -D -c avr109 -b 57600 -P /dev/ttyACM0 / -U flash:w:build-promicro-16MHzatmega32U4/sketchbook. hex:i Menghubungkan ke pemrogram:. Ditemukan programmer: Id = "CATERIN"; type = S Versi Perangkat Lunak = 1.0; Tidak ada Versi Perangkat Keras yang diberikan. Programmer mendukung penambahan auto addr. Programmer mendukung akses memori buffered dengan buffersize=128 byte. Programmer mendukung perangkat berikut: Kode perangkat: 0x44 avrdude: Perangkat AVR diinisialisasi dan siap menerima instruksi avrdude: Tanda tangan perangkat = 0x1e9587 (mungkin m32u4) avrdude: membaca file input "build-promicro-16MHzatmega32U4/sketchbook.hex" avrdude: menulis flash (11580 bytes): avrdude: 11580 bytes flash ditulis avrdude: safemode: Fuse OK (E:CB, H:D8, L:FF) avrdude selesai. Terima kasih.

Terima kasih avrdude, dan sekarang Arduino kami direset dan diprogram dengan kode baru, apa yang bisa Anda edit dengan vi atau editor favorit Anda secara lokal, tidak perlu IDE apa pun. Saya akan mencatat bahwa Anda harus menutup program kontrol C, layar atau apa pun yang mengakses arduino saat mengunggah, jika tidak, port akan kembali sebagai /dev/ttyACM1 setelah reset.

Langkah 3: Penutupan dan Daftar Todo

Penutupan dan Daftar Todo
Penutupan dan Daftar Todo
Penutupan dan Daftar Todo
Penutupan dan Daftar Todo
Penutupan dan Daftar Todo
Penutupan dan Daftar Todo

Meskipun saya membuat kotak sensor lingkungan ini untuk ruang server, Anda dapat menggunakannya untuk laboratorium kimia/elektronik, gudang, ruang reguler, dan lainnya. Dan ya karena menggunakan TCP/IP, ini adalah perangkat IoT, G, saya juga harus memasukkannya ke judul untuk membuatnya lebih giat:)

Anda bisa dengan mudah memodifikasi baik hardware maupun software untuk bisa juga menyalakan lampu di dalam ruangan secara otomatis. Lihatlah proyek saya yang lain: Shadow of phoenix bagaimana cara kerjanya untuk kontrol cahaya, Anda memiliki semua perangkat keras untuk melakukan hal yang sama (menggunakan pengatur waktu tahan untuk menjaga lampu tetap menyala selama ada gerakan yang terdeteksi dalam a periode waktu, jika ada gerakan lagi timer akan terbentur).

Dengan OrangePI yang menjalankan Armbian tumpukan penuh, kemungkinannya tidak terbatas, Anda dapat membuat antarmuka web lokal yang ditulis dari awal di php untuk menampilkan data historis pada grafik. Bukankah ini sudah lebih baik jika Anda memiliki perangkat Open Source yang sepenuhnya memantau ruang server Anda apa yang dapat Anda banggakan untuk dibangun, jika Anda berpikir demikian, bangunlah sendiri!

Direkomendasikan: