Isi kandungan:

SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan: 3 Langkah (dengan Gambar)
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan: 3 Langkah (dengan Gambar)

Video: SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan: 3 Langkah (dengan Gambar)

Video: SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan: 3 Langkah (dengan Gambar)
Video: Стеки технологий – информатика для руководителей бизнеса 2016 2024, Julai
Anonim
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan

Setelah saya diberi tugas untuk mencari penyelidikan persekitaran untuk memantau suhu di ruang pelayan syarikat saya. Idea pertama saya adalah: mengapa tidak hanya menggunakan Raspberry PI dan sensor DHT, ia dapat disiapkan dalam masa kurang dari satu jam termasuk pemasangan OS. Untuk ini, saya mendapat sambutan yang tegas dari orang-orang atasan yang ditutup matanya bahawa kami tidak akan melakukannya kerana memerlukan lebih banyak kos pada waktu kerja untuk menyiapkannya daripada membeli peranti. Harus menerima orang yang berfikiran sempit seperti ini untuk sebahagian daripada hidup saya adalah satu perkara dan saya memerintahkan beberapa EATON kelas perusahaan sampah Ebay dan memanggilnya tetapi saya memutuskan pada masa itu bahawa untuk bilik pelayan saya sendiri, saya akan membina Arduino Open Source sepenuhnya berasaskan peranti yang akan jauh lebih baik daripada yang saya pesan.

Projek ini diberi kod bernama SilverLight, jangan tanya saya dari mana saya mendapat nama-nama ini:) Saya hanya melihat kotak separuh akrilik yang berkilat dan memutuskan dengan nama ini, ia tidak ada kaitan dengan produk mikrohoof yang saya dapati selepas ini.

Langkah 1: Reka Bentuk Perkakasan

Reka Bentuk Perkakasan
Reka Bentuk Perkakasan
Reka Bentuk Perkakasan
Reka Bentuk Perkakasan
Reka Bentuk Perkakasan
Reka Bentuk Perkakasan

Gambaran keseluruhan perkakasan komersial.

Baiklah, jadi saya tidak memulakan dengan idea hebatnya untuk meletakkan monitor persekitaran di dalam rangkaian tetapi jelas ada pasaran untuk itu, jadi mari kita lihat apa yang boleh dilakukan:

Kesesuaian peranti pemantauan alam sekitar

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

10 / 100Mb ConnectUPS-X, 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 oz (34 g)

Itu maklumat yang sangat berguna bukan? Tidak perlu risau kerana mereka tidak dapat berbuat banyak. Untuk memulakan UPS, anda mesti mempunyai kad tambahan yang mahal untuk ini yang menghubungkannya dengan sensor persekitaran yang anda beli secara berasingan, biasanya dengan kabel CAT5 standard (jangan sekali-kali cuba memasukkan apa-apa ke port itu kerana tidak ada standard pasal itu). Mereka mendakwa bahawa peranti memerlukan 10 minit untuk "memanaskan badan" yang pada hakikatnya adalah berjam-jam dan begitu ia melakukan voila, ia muncul di antara muka java mereka yang perlahan-lahan mengemas kini dan kita mempunyai suhu dan kelembapan. Menetapkan keadaan berdasarkan amaran adalah mudah dari sudut ini tetapi siapa yang peduli mari kita membina sesuatu yang lebih baik.

Projek ini adalah gabungan beberapa projek saya: Stesen cuaca Natalia, Shadow of phoenix. Kotak ini dapat memantau kekangan persekitaran berikut:

  • Indeks suhu / kelembapan / haba
  • Kepekatan LPG, Asap, Alkohol, Propana, Hidrogen, Metana dan Karbon Monoksida di udara (MQ2)
  • Sensitiviti solar (adakah cahaya di ruang pelayan?)
  • Sensor gerakan PIR (anda bahkan dapat menyalakan / mematikan lampu secara automatik mulai sekarang berkat sensor gerakan ketika seseorang memasuki ruangan)

Semua data ini dipaparkan dengan baik pada layar LCD sementara juga diserahkan ke komputer (Orange PI Zero) untuk pemprosesan dan makluman selanjutnya. Walaupun mungkin 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 apabila anda perlu mengemas kini LCD juga dan melakukan tahap rendah yang lain barang Arduino tidak dapat dikalahkan dan boleh dipercayai berjalan tanpa henti selama bertahun-tahun (sebenarnya bukan satu Arduino yang berjalan 24/7 gagal pada saya). The OrangePI dengan kekurangannya (mari kita hadapi ia adalah komputer $ 10) seperti tidak dapat digunakan untuk beban kerja yang berat, tidak ada sokongan bsd, wifi bersepadu kembung dll dapat dengan mudah menangani beban kerja kecil seperti mengambil bacaan sensor melalui siri (USB) dan memprosesnya.

Ini adalah perkakasan projek yang sangat mudah yang memerlukan komponen berikut:

  • Arduino PRO Mikro
  • Skrin LCD 2x16 watak RGB
  • Modul kuasa suis pengasingan AC-DC 220V hingga 5V HLK-5M05 (ini sangat baik untuk projek Arduino / ESP), ini adalah versi 5V / 5W!
  • Perintang 2x300ohm
  • 2xleds (merah / hijau)
  • Sensor gerakan PIR
  • Sensor MQ2
  • DHT22
  • LDR
  • Perintang 2X10Kohm
  • Buzzer
  • Jingga PI Zero
  • kabel data mini USB

Saya tidak pernah bersusah payah membuat PCB untuk papan roti biasa yang baru digunakan ini kerana komponennya hanya boleh disambungkan ke Arduino (lihat gambar yang dilampirkan):

-DHT22 memerlukan penarikan 10K ke VCC (digital)

-LDR memerlukan pulldown 10K ke GND (analog)

-MQ2 boleh dihubungkan terus ke pin analog (analog) <lebih suka menggunakan analog kerana mengapa tidak apabila kita mempunyai MCU dengan pin analog di mana kita dapat memperoleh nilai yang tepat dan bukannya menyesuaikan beberapa periuk di bahagian belakang peranti untuk mendapatkan TINGGI atau RENDAH dari itu, kerana perekat dalam reka bentuk saya yang tidak dapat diakses pula. Semak:

-PIR boleh disambungkan terus ke pin mana pun (digital)

-LCD: dapat digerakkan dengan 4 pin, dapat dihubungkan ke mana-mana pin (digital) yang memerlukan +2 RS / E (digital)

-Buzzer: boleh dihubungkan terus ke mana-mana pin Arduino (digital)

Pinout yang saya gunakan dapat dilihat dalam kodnya. Menyambungkan semuanya bersama-sama selepas ini cukup lurus ke hadapan, anda juga boleh melakukannya satu persatu, pastikan 1 sensor berfungsi dengan sempurna kemudian teruskan ke yang berikutnya, semua yang boleh anda lakukan adalah salah dengan menyambungkan wayar ke tempat yang salah (mis. Menukar vcc / gnd untuk sensor, setakat ini ini tidak pernah membunuh mana-mana peranti saya). Apa yang saya perhatikan di sini bahawa terdapat terlalu banyak VCC dan GND yang disusun untuk saya, saya tidak dapat memasukkannya melalui jalur terminal sehingga saya menyolder semuanya.

Juga mengenai DHT jangan lupa dari projek saya yang lain: jika anda memasukkan pustaka DHT dalam kod anda dan sensor DHT tidak tersambung atau salah DHT disambungkan (mis. 11 ditentukan dalam kod yang anda gunakan 22) yang boleh menyebabkan program untuk menggantung selama-lamanya pada permulaan.

Mengenai sensor pengesanan gerakan PIR, seperti yang anda dapat lihat di gambar saya terdapat banyak pemalsuan palsu ini, sebenarnya saya sukar untuk membeli yang asli dari Ebay. Palsu berfungsi dengan baik, walaupun dalam jangka masa panjang tetapi litar mereka dicerminkan yang menyebabkan pin + dan - terbalik, juga mudah dikenali: datang dengan pcb biru bukan hijau biasa, hilang label untuk periuk tembikar. Saya bernasib baik kerana menemui yang asli di dalam kotak saya jika tidak, mengubah kedudukan akan merangkumi 2 led untuk saya. Saya mendapati bahawa kedua-dua periuk yang dilekatkan hingga ke tengah berfungsi untuk saya. Ini akan memberi anda jarak yang cukup lama untuk penginderaan juga ketika ada gerakan kaki digital akan disimpan dalam posisi TINGGI selama lebih kurang satu minit, jadi anda tidak perlu membuat kod untuk ini. Pada palsu, mudah untuk menentukan sisi mana - dan + hanya melihat kaki yang sesuai untuk penutup elektrolitik yang disambungkan ke pin.

Untuk memotong kotak, saya menggunakan kepala dremel berlian (yang terlalu banyak tetapi bekerja hebat) dan mesin penggerudian biasa. Kotak persimpangan ini mudah dikerjakan dan walaupun saya tidak suka perekatan, saya tidak mempunyai skru dan baut semasa membina ini sehingga mengambil barang-barang pelekat bersama (yang juga boleh dipanaskan dengan mudah dan dipisahkan kemudian dengan menggunakan gam yang sama tanpa pelekap di dalamnya).

Langkah 2: Reka Bentuk Perisian

Reka Bentuk Perisian
Reka Bentuk Perisian
Reka Bentuk Perisian
Reka Bentuk Perisian

Kod Arduino juga mudah, pada dasarnya menarik semua bacaan sensor pada awal setiap gelung. Menghidupkan LED jika ada gerakan atau asap dan juga memainkan bunyi penggera pada buzzer jika ada asap (ini adalah satu-satunya kod penyekat sehingga saya membuatnya pendek), kemudian memaparkan data pada LCD dan akhirnya menghantarnya melalui PC dengan jangka masa 10 saat, tidak membanjiri pelabuhan.

Projek ini menggunakan komunikasi sehala dari Arduino-> OrangePI, tidak ada perintah apa pun yang dilaksanakan. Walaupun ini sangat mungkin dilakukan seperti yang saya lakukan di salah satu projek saya yang lain di mana komputer dapat menghantar LCD_PRINT1 atau LCD_PRINT2 untuk menimpa satu baris skrin LCD dengan mesejnya sendiri (contoh: alamat ip, waktu operasi, tarikh sistem, penggunaan cpu), luas layar sangat kecil untuk memaparkan data dari 3 sensor sehingga saya tidak mengganggu. Nilai SOL dan SMK boleh mencapai 4 digit 0000-1023 dengan mengambil 8 watak berharga di skrin.

Dengan LCD anda dapat melihat helah kecil dalam kod bahawa setelah setiap nilai yang diukur, cetakan spasi putih ("") diterapkan, maka saya menggerakkan kursor ke posisi tetap untuk meletakkan ikon dan data baru. Ini ada kerana LCD tidak begitu pintar untuk memahami nombor, ia hanya menarik apa yang diperolehnya dan sebagai contoh jika anda mempunyai nilai solar 525 yang tiba-tiba menurun menjadi 3 maka ia akan memaparkan 325 meninggalkan sampah lama di skrin di sana.

Kod kawalan C berjalan di OrangePI dan mencatat data persekitaran dan menghantar amaran e-mel apabila diperlukan.

OrangePI menjalankan Armbian (yang pada masa penulisan berdasarkan Debian Stretch). Saya akan memasukkan ini ke dalam bahagian perisian mengenai masalah yang diselesaikan. Berikut adalah pengaliran kuasa purata peranti:

0.17 A - Arduino sahaja + sensor

0.5-0.62 A - Boot OrangePI

0.31 A - Orange PI dalam keadaan terbiar

0.29 A - Orange PI dimatikan (tidak dapat mematikannya, ia tidak mempunyai ACPI atau seumpamanya)

0.60 A - Uji tekanan 100% penggunaan CPU pada 4 teras

Saya mempunyai OrangePI ini dalam kotak sejak lama. Dengan kernel lama, peranti mengalirkan arus yang sangat banyak (seperti yang dikatakan oleh meter mencapai sekitar 0,63 A) yang mungkin tidak dapat diberikan oleh PSU bahawa ia tidak boleh masuk, proses boot terhenti dan saya mendapat 2 led ethernet yang menyala sentiasa dan tidak melakukan apa-apa.

Sekarang ini agak menjengkelkan kerana HLK-5M05 mendakwa ia dapat melakukan 5W pada 5V menjadikannya mampu menyediakan 1 Amp tetapi dengan peranti ini keluar dari China yang tidak pernah anda ketahui, puncak 0.63 A jauh lebih rendah daripada nilai maksimum nilai. Oleh itu, saya menjalankan ujian reboot sederhana, dari 10 reboot, OrangePI hanya akan berjaya dua kali boot, yang hampir membuat saya membuangnya dari projek kerana saya tidak suka tingkah laku kereta yang tidak konsisten dalam litar. Oleh itu, saya mula berkeliaran mungkin ada cara untuk mengurangkan penggunaan kuasa pada waktu boot dari perisian (kerana itu hanya masalah ketika itu) dan mendapati beberapa artikel bercakap mengenai tweak script. Bin tetapi ia adalah untuk PC Orange PI dan fail hilang dari simpanan jadi apa pun sebagai usaha terakhir saya telah melakukan "apt upgrade" yang ajaib untuk menaik taraf firmware, kernel dan yang lain-lain, dengan harapan ia akan habis lebih sedikit dan peranti dapat boot dan:

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

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

Ianya berhasil! Membuang perkakasan ke masalah perisian biasanya pembangun java malas untuk pergi ke tempat tetapi dalam kes ini kita telah menyelesaikan masalah perkakasan dengan perisian yang sangat berjaya. Saya telah melakukan seperti 20 lagi ujian but semula yang dihidupkan oleh peranti setiap kes. Saya masih ingat bahawa lonjakan kuasa dari menghidupkan Opi (menyambung / memutuskan sambungan) sangat besar sehingga akan menetapkan semula Arduino pada waktu tertentu (reboot sederhana hanya akan mengedipkan LCD tetapi tidak menimbulkan masalah lagi), tetapi masalah ini tetap ada tersembunyi kerana 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 perlukan dari ini? Ok pwr dan termal mungkin berguna tetapi bunyi, port bersiri, wifi (sudah hw rusak) kita tidak memerlukan semua ini boleh disenarai hitam. Saya juga akan membuat kernel khusus dengan hanya modul yang diperlukan di kemudian hari.

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

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

Selepas ini, anda sudah dapat menguji hubungannya dengan:

skrin / dev / ttyACM0 9600

Anda mesti melihat data status dihantar dalam setiap 10 saat.

Makluman dan pemantauan

Sebagai makluman, saya hanya memasukkan sistem () panggilan dalam kod kawalan C yang menerima data dari siri sehingga tidak diperlukan alat luaran. Beberapa amaran contoh:

- Suhu melebihi 30 C

- Kelembapan melebihi 70% (tidak sihat untuk pelayan)

- Gerakan dikesan di dalam bilik (ini boleh menjengkelkan jika anda terus berada di ruangan pelayan anda)

- Asap atau gas dikesan (amaran lebih dari 100 dapat dianggap serius, saya telah bermain-main dengan sensor ini dan menyala untuk banyak barang, misalnya membuat asap di sebelah sensor dengan besi pematerian menghasilkan sedikit lebih dari 50 semasa merokok lagi o melonjak hingga 500, malah mengesan gas dari deodoran biasa dari jauh)

Untuk menyimpan data sejarah, saya tidak peduli untuk mengembangkan alat kerana mengapa mencipta semula roda ketika kami mendapat kerangka pemantauan yang sangat baik di luar sana. Saya akan menunjukkan contoh bagaimana menggabungkan ini ke dalam kegemaran peribadi saya, Zabbix:

apt-get install agen zabbix

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

UserParameter = silverlight.hum, head -1 /dev/shm/silverlight-zbx.log | awk -F "," '{cetak $ 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 "," '{cetak $ 6}'

Menjalankan zabbix_agentd -p kini harus mengembalikan nilai yang betul:

silverlight.hum [t | 41]

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

Indeks haba, saya mengumpulkannya tetapi tidak melihat penggunaan praktikalnya sehingga hanya dicatat. Dalam kod kawalan C saya telah melaksanakan 2 fungsi pembalakan, yang pertama akan mencatat semua data dalam format yang mesra pengguna:

[SILVERLIGHT] Data diterima pada 2019-09-10 23:36:08 => Kelembapan: 44, Temp: 22, Hai: 25, Suria: 0, Gerakan: 0, Asap: 21

[SILVERLIGHT] Data diterima pada 2019-09-10 23:36:18 => Kelembapan: 44, Temp: 22, Hai: 25, Suria: 0, Gerakan: 0, Asap: 21 [SILVERLIGHT] Data diterima pada 2019-09 -10 23:36:29 => Kelembapan: 44, Temp: 22, Hai: 25, Matahari: 0, Gerak: 0, Asap: 22 [SILVERLIGHT] Data diterima pada 2019-09-10 23:36:39 => Kelembapan: 44, Temp: 22, Hi: 25, Suria: 0, Gerakan: 0, Asap: 21

Yang kedua:

batal logger2 (char * text) {

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

Ini akan meletakkan memori liner 1 liner (menghilangkan operasi rw yang tidak perlu pada sdcard) yang akan selalu ditimpa lain kali. Log ini hanya akan mengandungi 6 lajur data dan tiada cap waktu, mudah dibaca untuk Zabbix.

Sebagai bonus terakhir: bagaimana memprogram Arduino secara langsung dari OrangePI sehingga anda tidak perlu berjalan ke peranti setiap kali dan pasangkan komputer riba anda.

Terdapat 2 cara:

-Cara mudah: Pasang penuh Arduino IDE dan perpustakaan menggunakan beberapa desktop jauh seperti X11 dengan pemajuan, Xrdp, Xvnc, Nxserver dll.

-Cara keras: Pasang Arduino IDE dan gunakan baris arahan

Kami akan melakukan yang sukar kali ini kerana saya tidak gemar memasang X11 pada pelayan. Untuk ini, anda memerlukan 6 komponen:

1, Arduino IDE untuk ARM 32 bit ->

2, siri Python -> apt-get pasang python-serial

3, projek Arduino Makefile -> git clone

4, perpustakaan DHT

5, definisi papan Sparkfun

6, SilverLight.ino, kod utama

Untuk mempermudah saya, saya telah mengumpulkan fail yang diperlukan untuk 4 mata terakhir (sketchbook.tgz) jadi anda hanya memerlukan 2 yang pertama

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

perak penambah

perak dialout usermod -a -G

SCP sketchbook.tgz ke peranti di direktori utama pengguna yang baru dibuat dan ekstrak di sana:

cd / rumah / perak

tar xvzf sketchbook.tgz

Untuk memahami sedikit apa yang berlaku semasa anda menggunakan IDE grafik:

Aliran kerja membina lakaran Arduino ketika menggunakan Arduino IDE dijelaskan di laman web Arduino https://www.arduino.cc/en/Hacking/BuildProcess dan dengan lebih terperinci di sini: https://www.arduino.cc/ en / Hacking / BuildProcess

Secara amnya, proses pembuatan Arduino standard adalah:

Gabungkan fail.ino ke dalam fail lakaran utama. Transformasi fail lakaran utama: tambahkan pernyataan #include; buat deklarasi fungsi (prototaip) semua fungsi dalam fail lakaran utama; tambahkan isi fail main.cxx sasaran ke fail lakaran utama. Menyusun kod ke fail objek. Pautkan fail objek untuk menghasilkan fail.hex yang siap dimuat naik ke Arduino.

Terdapat sedikit perbezaan antara proses pembuatan standard Arduino dan proses pembuatan menggunakan Arduino-Makefile:

Hanya satu fail.ino yang disokong. Deklarasi fungsi tidak dibuat secara automatik dalam fail.ino. Pengguna harus berhati-hati membuat pernyataan fungsi yang betul.

Inti dari proses membina adalah Makefile. Jangan risau, semuanya disediakan untuk anda, agak rumit ketika menyusun cara ini untuk papan bukan standard seperti siri SparkFun.

BOARD_TAG = luar biasa

ALTERNATE_CORE = SparkFun BOARD_SUB = 16MHzatmega32U4 ARDUINO_PORT = / dev / ttyACM0 USER_LIB_PATH = / rumah / perak / sketsa / perpustakaan ARDUINO_DIR = /opt/arduino-1.8.9 termasuk /home/silver/sketchbook/

Dan yang perlu anda taipkan ialah: buat muat naik (yang akan membina fail.hex terlebih dahulu kemudian menggunakan avrdude untuk memuat naiknya), ia akan berakhir dengan sesuatu seperti:

mkdir -p build-promicro-16MHzatmega32U4

make reset make [1]: Memasukkan 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]: Memasukkan 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 / buku lakaran. hex: i Menyambung ke pengaturcara:. Pengaturcara yang dijumpai: Id = "CATERIN"; type = S Perisian Versi = 1.0; Versi Perkakasan tidak diberikan. Pengaturcara menyokong kenaikan penambahan automatik. Programmer menyokong akses memori buffered dengan buffersize = 128 bait. Pengaturcara menyokong peranti berikut: Kod peranti: 0x44 avrdude: Peranti AVR dimulakan dan bersedia menerima arahan avrdude: Tandatangan peranti = 0x1e9587 (mungkin m32u4) avrdude: membaca fail input "build-promicro-16MHzatmega32U4 / sketchbook.hex" avrdude: menulis kilat (11580 bait): avrdude: 11580 bait kilat ditulis avrdude: safemode: Fius OK (E: CB, H: D8, L: FF) avrdude selesai. Terima kasih.

Baiklah terima kasih avrdude, dan sekarang Arduino kami diset semula dan diprogramkan dengan kod baru, apa yang anda boleh edit dengan vi atau editor kegemaran anda secara tempatan, tidak memerlukan IDE. Saya perhatikan bahawa anda harus menutup kedua program kawalan C, skrin atau apa sahaja yang mengakses arduino semasa memuat naik, jika tidak, port akan kembali sebagai / dev / ttyACM1 setelah diset semula.

Langkah 3: Senarai Penutupan dan Todo

Senarai Penutupan dan Todo
Senarai Penutupan dan Todo
Senarai Penutupan dan Todo
Senarai Penutupan dan Todo
Senarai Penutupan dan Todo
Senarai Penutupan dan Todo

Walaupun saya membuat kotak sensor persekitaran ini untuk bilik pelayan, anda boleh menggunakannya untuk makmal kimia / elektronik, gudang, bilik biasa dan apa sahaja. Dan ya kerana menggunakan TCP / IP itu adalah peranti IoT, G seharusnya saya meletakkannya pada tajuk juga untuk menjadikannya lebih giat:)

Anda boleh mengubah suai perkakasan dan perisian dengan mudah sehingga dapat juga menyalakan lampu di dalam bilik secara automatik. Lihat projek saya yang lain: Bayangan phoenix bagaimana ia berfungsi untuk mengawal cahaya, anda mempunyai semua perkakasan untuk melakukan perkara yang sama (ia menggunakan pemasa tahan untuk menyalakan lampu selagi ada gerakan yang dikesan dalam jangka masa, jika ada gerakan lagi pemasa akan naik).

Dengan OrangePI menjalankan stack penuh Armbian kemungkinan tidak terbatas, anda boleh membuat antara muka web tempatan yang ditulis dari awal dalam php untuk memaparkan data bersejarah pada grafik. Bukankah ini sudah lebih baik bahawa anda mempunyai peranti Open Source yang sepenuhnya memantau bilik pelayan anda, apa yang anda boleh banggakan untuk membina, jika anda fikir bina sendiri!

Disyorkan: