Saya sedang bekerja membangun stasiun cuaca berbasis Arduino yang bertenaga surya. Stasiun cuaca terdiri dari sensor suhu dan photoresistor, dan saya berencana untuk menambahkan anemometer di masa depan. Saya ingin menghubungkan stasiun cuaca ke jaringan nirkabel saya sehingga saya dapat mengambil data sensor dari komputer saya tanpa harus menjalankan kabel (saya tinggal di rental).
Apa sajakah pilihan berbeda untuk menghubungkan Arduino ke WiFi? Saya telah melihat perisai ethernet, perisai WiFi, dan sesuatu yang disebut Xbee, tapi saya tidak mengerti untuk apa masing-masingnya.
Saya juga memiliki router nirkabel di rumah yang dapat saya gunakan. Apakah mungkin untuk menghubungkan Arduino Uno saya ke router melalui router ethernet atau port USB dan kemudian menerima data dari dan mengirim perintah ke Arduino secara nirkabel melalui jaringan rumah saya? Jika demikian, bagaimana ini dapat dicapai?
Saat ini saya memiliki Uno Arduino yang telanjang.
sumber
Jawaban:
Anda memiliki beberapa opsi untuk menghubungkan Arduino Anda ke jaringan / Internet.
Ethernet
Sesuatu seperti Arduino Ethernet Shield memungkinkan Anda untuk menyambungkan kabel Ethernet dari dinding atau router ke Arduino Anda. Jelas, batasan utamanya adalah perangkat Anda sekarang ditambatkan oleh kabel. Untuk penggunaan di luar ruangan, saya tidak akan melakukan ini.
Wifi
The Arduino WiFi Perisai memungkinkan Anda untuk terhubung ke jaringan rumah Anda WiFi. Ini seperti Ethernet kecuali yang sekarang nirkabel.
The ESP8266 adalah alternatif yang lebih murah itu, dengan firmware default, memiliki fungsi yang sama dengan WiFi Shield. Hati-hati bahwa Anda memberinya kekuatan dengan 3.3V dan bukan 5V sebagai Arduino lainnya. Ini juga menggunakan level logika 3.3V jadi jangan menghubungkan pin TX Arduino langsung ke pin RX ESP; gunakan pembagi tegangan.
RF
Jika Anda memiliki banyak sensor atau perangkat lain yang perlu saling berkomunikasi, opsi terbaik biasanya adalah modul RF. Anda memiliki banyak opsi di sini, XBee menjadi salah satunya. Lihatlah Panduan Pembelian Sparkfun XBee untuk melihat semua opsi yang tersedia. Dan itu baru XBee. Ada banyak pilihan nirkabel lain yang tersedia, dengan segala macam harga.
Masalahnya dengan RF adalah bahwa semua ini tidak akan terhubung ke Internet. Anda akan memiliki semua perangkat Anda berkomunikasi satu sama lain atau stasiun pangkalan, yang kemudian akan terhubung ke jaringan dengan modul WiFi atau Ethernet.
Serial Router Nirkabel
Tergantung pada jenis router nirkabel yang Anda gunakan, Anda dapat membuat Arduino berkomunikasi langsung dengannya dan menggunakannya sebagai koneksi Anda ke jaringan.
sumber
Menikah dengan OpenWrt dan Arduino Anda
Dapatkan router kecil yang mampu OpenWrt seperti "TP-Link TL-WR703N", flash dengan OpenWrt versi stabil saat ini dan sambungkan Arduino Anda ke port USB router.
Solusi ini adalah setengah atau kurang dari biaya WiFi-perisai dan memiliki kekuatan yang jauh lebih besar.
... dan lebih murah sebagai YÙN.
Webserver otomatisasi rumah pintar pada router OpenWRT WR703N dihubungkan ke Arduino, dibandingkan dengan Raspberry Pi dan Ubuntu mungkin menjadi titik awal untuk membaca tentang ini dan mesin pencari favorit Anda akan menemukan lebih banyak tautan tentang menikahi WR703N dan Arduinos ...
(!) Silakan lihat https://arduino.stackexchange.com/a/1754/653 juga ....
sumber
ESP8266 adalah modul wifi $ 5 murah dengan konektivitas UART, SPI. Ini dapat diintegrasikan dengan Arduino dengan mulus baik melalui firmware stok menggunakan perintah AT, atau dengan menulis firmware khusus menggunakan SDK yang disediakan dan GIPO tersedia. Untuk referensi lebih lanjut http://www.esp8266.com/
sumber
Saya telah bekerja dengan xbee pada arduino dan raspberry pi selama beberapa bulan sekarang. Meskipun memiliki masalah dan keanehan, itu adalah alat yang hebat dalam rantai komunikasi. Ini tidak sempurna tetapi mengingat sisi jaringnya, bagi saya itu menjangkau lebih jauh dari wifi saya dan bahkan bisa lebih dapat diandalkan (pi raspberry saya dengan wifi kadang-kadang keluar, namun xbee yang terhubung terus berfungsi di latar belakang.
Khususnya dalam kasus saya ini memungkinkan untuk koneksi serial antara perangkat saya (menjadi beberapa arduinos, raspberry pi (koordinator) dan mac saya (digunakan terutama untuk memantau tetapi juga kadang-kadang menyuntikkan data serial)). Dalam hal ini sempurna. Itu tidak memungkinkan akses internet atau akses di luar kerangka xbee, tapi itu sangat cocok untuk saya karena implementasinya sesederhana Serial.print dan Serial.read tanpa overhead Ethernet.
sumber
Saya menggunakan Spark Core yang merupakan platform pemrograman Arduino yang sangat mudah digunakan. Platform ini dibangun di atas primus bahwa WiFi harus mudah digunakan dan murah. Bahkan dapat memprogram Spark Core dari mana saja, kapan saja.
sumber
Anda dapat mencoba Arduino Yun, itu seperti Uno tetapi memiliki WiFi langsung di papan tulis.
Ada bagian dalam "Panduan untuk Arduino Yún" yang disebut "Mengkonfigurasi WiFi onboard" , yang menjelaskan cara mengkonfigurasi WiFi.
sumber
Apa yang Anda inginkan cukup mudah dilakukan, dan kode sudah ada. Tapi cara saya invisinya, Anda tidak akan menghubungkan sensor Arduino ke wifi Anda. Sebagai gantinya, Anda akan menggunakan Arduino lain sebagai gerbang Anda seperti ini:
Sensor Arduino: Terletak di luar, terhubung ke sensor suhu, kecepatan angin, alat pengukur hujan?
Gateway Arduino: Terletak di dalam, dengan pelindung ethernet Wiznet 5001
Sensor Arduino dan Gateway Arduino berbicara satu sama lain menggunakan transceiver nirkabel SANGAT mudah digunakan, nRF24L01 +. Modul nirkabel masing-masing $ 3, dan perpustakaan untuk digunakan sangat matang. Semua data sensor mudah dikomunikasikan ke Gateway menggunakan perpustakaan ini.
Gateway Arduino dengan ethernet bertindak sebagai server web, memungkinkan komputer di jaringan lokal Anda untuk membuka halaman dan melihat kondisi saat ini. Lihatlah halaman ini untuk kode Arduino: http://arduino.cc/en/Tutorial/WebServer
Anda ingin juga menyimpan informasi riwayat suhu / kecepatan angin, bukan? Ini bagian terbaik! Gateway Arduino dapat mendorong data ke layanan seperti Xively, layanan pengumpulan data berbasis web gratis yang juga memberi Anda cara bagus untuk memvisualisasikan / membuat grafik data Anda. Ada sedikit kesulitan dengan menggunakan Wiznet bersama dengan modul nRF24L01. Modul nirkabel dan perisai ethernet keduanya menggunakan bus yang sama untuk berkomunikasi, jadi lihat blog ini untuk melihat bagaimana Anda dapat menggunakan keduanya sekaligus:
http://www.heald.ca/content/arduino-ethernet-nrf24l01-and-pachubecosmxively
Xively juga memungkinkan Anda membuat data itu publik atau pribadi, sehingga Anda dapat memilih untuk berkontribusi data stasiun cuaca Anda ke komunitas.
Beberapa catatan lain: Saya suka modul nRF24L01 + karena murah sekali. Modul Xbee harganya lebih mahal daripada Arduino sendiri. Anda dapat terus menambahkan modul nRF24L01 + di sekitar rumah setelah Anda membuat gateway. Masalah biaya yang sama ada dengan wifi shield - mahal.
sumber
Jika Anda ingin alternatif yang lebih murah untuk menambahkan kemampuan WiFi ke Arduino lihat ESP WiFi shield .
Ini bekerja sangat baik dengan perpustakaan WiFiEsp . Model pemrogramannya persis sama dengan Arduino WiFi Shield
sumber
Periksa modul wifi ESP8266, ini adalah modul murah dan dapat dikontrol menggunakan mikrokontroler dengan perintah AT, juga itu Soc sehingga Anda dapat menggunakannya mandiri.
sumber
Menggunakan set cmd ESP8266 AT sulit dan rentan kesalahan. Sarankan Anda merombak ESP8266-01 sebagai jembatan UART-WiFi seperti yang dijelaskan di sini ESP8266 Wifi Tambah untuk Arduino Dibuat Sederhana
Perhatikan bahwa pengaturan juga memungkinkan Anda mengkonfigurasi ulang pengaturan wifi Anda tanpa memprogram ulang ESP8266-01
sumber
Menggunakan sield ESP8266 rentan kesalahan, memerlukan pembaruan yang perlu di-flash, diperlukan beberapa solder, dan itu tidak sesuai untuk lingkungan produksi. Juga, ada masalah dengan catu daya karena Anda harus memiliki catu daya 3.3V yang terpisah . Ini 2016 (!) Dan ada banyak opsi lain yang tersedia sekarang.
"Papan WiFi UNO adalah Arduino UNO dengan WiFi terintegrasi." http://www.arduino.org/products/boards/arduino-uno-wifi
dan
"The Star Otto adalah papan Arduino pertama yang menampilkan prosesor STM32F469 dengan WiFi." http://www.arduino.org/products/boards/arduino-star-otto (Sebenarnya, per Oktober, masih belum tersedia, "Coming Soon").
Harap dicatat bahwa dua dewan ini berasal dari organisasi Arduino LAINNYA .
sumber
Setelah beberapa percobaan & kesalahan dalam proyek IoT saya, saya akan merekomendasikan bekerja pada ESP32 lebih dari ESP8266 (dan juga Arduino Uno & Nano), kecuali jika Anda tahu betul ruang lingkup proyek Anda.
Keuntungan ESP32 dibandingkan ESP8266:
Saya sedang mengerjakan proyek IoT dan mencoba untuk mengotentikasi perangkat di GCP menggunakan sertifikat. Sertifikat root GCP sudah sekitar 120 KB, sehingga tidak cocok dengan ESP8266. Ada beberapa alternatif tetapi menyulitkan banyak hal.
Nah di beberapa titik proyek IOT Anda, Anda mungkin ingin bluetooth untuk menghubungkan perangkat Anda dengan ponsel Anda ...
Dengan ESP8266 Anda pasti dapat menggunakan kamera tetapi itu akan melibatkan lebih banyak pengkodean & perkabelan dan kinerja yang berpotensi lebih buruk.
Dan akhirnya, saya mencoba untuk memasang chip wifi dengan Arduino Uno & Nano tetapi saya menemukan beberapa bug dan masalah dengan perintah AT. Jadi sekarang saya cukup senang dengan ESP32 karena semuanya terintegrasi.
sumber