Bagaimana saya bisa terhubung ke Arduino menggunakan WiFi?

27

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.

jlbnjmn
sumber
4
Apakah Anda memiliki pelindung Ethernet?
jfpoilpret
3
Anda perlu mengklarifikasi pertanyaan Anda: apa artinya "berkomunikasi dengannya"? Unggah sketsa? Kirim perintah ke sketsa? Dapatkan data dari sketsa?
jfpoilpret
Saya telah berusaha menambahkan detail dan konteks pada pertanyaan. Saya tidak memiliki perisai saat ini.
jlbnjmn
Saya tidak berpikir ada revisi dari Uno resmi yang memiliki port ethernet. Saya kira Anda harus memiliki Arduino Ethernet (yang serupa), atau mungkin semacam klon tidak resmi?
Peter Bloomfield
Saya telah mengedit pertanyaan untuk menentukan port ethernet pada router nirkabel. Jadi pertanyaannya adalah: [Arduino +? + (Router Nirkabel ATAU?) = Arduino mengirim data melalui jaringan nirkabel saya].
jlbnjmn

Jawaban:

24

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.

sachleen
sumber
1
Sedangkan untuk komunikasi "RF", Anda juga dapat menggunakan modul nRF24L01 + yang populer. Ada beberapa perpustakaan yang bagus di luar sana untuk ini. Masalah dengan tautan RF adalah Anda harus menjalankan Arduino atau Raspberry Pi dll. Sebagai "penerima" yang kemudian terhubung ke komputer Anda di mana Anda ingin menyimpan / melihat / menganalisis data. Untuk Wifi sekarang ada juga CC3000 shields tersedia adafruit.com/products/1534
Mike WP
Saat meneliti opsi yang Anda berikan, saya menemukan Yun. Apakah itu pilihan yang lebih mudah? Terima kasih.
jlbnjmn
Mungkin. tidak pernah menggunakannya sendiri. Perisai tidak sulit untuk berinteraksi dan mungkin lebih murah.
sachleen
4

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 ....

pergi
sumber
4

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/

Suneesh
sumber
3

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.

Madivad
sumber
2

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.

Aaron Klap
sumber
Bagaimana perbandingannya dengan XBee dalam hal: harga (termasuk hal-hal penghubung Arduino seperti perisai), jarak, pemrograman (pada Arduino)?
jfpoilpret
2

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.

Johan
sumber
1
Hai, bisakah Anda mengedit jawaban Anda dengan beberapa informasi lebih lanjut. OP sudah tahu tentang Yun sehingga jawaban Anda akan lebih berguna jika, misalnya, itu membimbing orang untuk menggunakan chip WiFi di dalamnya.
sachleen
1

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.

pengguna851
sumber
1

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

Twim
sumber
0

Periksa modul wifi ESP8266, ini adalah modul murah dan dapat dikontrol menggunakan mikrokontroler dengan perintah AT, juga itu Soc sehingga Anda dapat menggunakannya mandiri.

suxing
sumber
0

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

drmpf
sumber
0

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 .

Chiwda
sumber
0

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:

  1. RAM yang lebih besar, instruksi ESP8266: 32KB & data pengguna 80 KB, ESP32: 520 KB

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.

  1. ESP32 memiliki bluetooth & ESP8266 tidak

Nah di beberapa titik proyek IOT Anda, Anda mungkin ingin bluetooth untuk menghubungkan perangkat Anda dengan ponsel Anda ...

  1. Beberapa versi ESP32 memiliki port terintegrasi untuk kamera (cari ESP32 CAM)

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.

Lewen
sumber