Bagaimana agar wifi terhubung raspberry pi mengendalikan arduino?

8

Saya memiliki arduino uno yang perlu merespons aplikasi iOS dengan internet sebagai media. Rencana awal saya adalah menggunakan perisai wifi untuk Arduino, tetapi karena saya tidak bisa mendapatkannya saat ini, saya pikir saya bisa menggunakan raspberry pi yang terhubung ke internet untuk mengontrol Arduino. Saya berasumsi ini mungkin?

Saya perlu agar raspberry pi merespons ke server web dan mengirim sinyal ke Arduino. Apakah ini mungkin, dan jika demikian, dapatkah seseorang memberi saya nasihat tentang bagaimana cara melakukan ini?

Byron Shilly
sumber

Jawaban:

3

Saya sebenarnya sedang mengerjakan proyek serupa sekarang. Ini adalah mobil R / C sederhana yang dikendalikan web. Saya berada di kapal yang sama dengan Anda, saya awalnya menginginkan perisai wifi untuk Arduino saya. Tapi saya memutuskan untuk menggunakan pi raspberry yang terhubung ke mega 2560 saya melalui USB. Anda harus melihat ke dalam menjalankan firmata protcol pada Arduino Anda. Muncul dengan IDE Arduino. Lihat saja di bawah File-> Contoh-> Firmata dan unggah StandardFirmata ke papan Anda.

Langkah selanjutnya yang saya lakukan adalah menjalankan server web node.js dengan paket node firmata dan socket.io. Saya baru-baru ini mulai bereksperimen dengan paket johnny-five node.js. Hanya karena saya sedikit noob ketika datang ke pemrograman node.js, dan mengalami masalah agar berfungsi dengan baik hanya dengan paket node firmata. Johnny-five tampaknya menjanjikan dan saya sudah sedikit beruntung dengan itu, tetapi kode saya masih dalam pengerjaan. Saya akan mengirim tautan ke halaman github saya sehingga Anda setidaknya dapat memiliki referensi (motor_test.js dan motor_test.html, hanya perlu diingat, kode itu masih tidak berfungsi. Saya telah berhasil mengendalikan led, tetapi motor adalah sebuah cerita yang berbeda.Jika saya mendapatkan waktu hari sakit posting kode saya ke kontrol LED saya bekerja melalui proyek node.js.

Pokoknya saya tahu saya tidak bisa memberikan solusi yang sepenuhnya berfungsi untuk Anda, tetapi saya harap ini setidaknya membuat Anda pergi ke arah yang benar. Jangan ragu untuk mengirim email kepada saya kapan saja ([email protected]) Saya ingin membantu lebih banyak dengan cara apa pun yang saya bisa.

Berikut rujukannya. Hanya Google mereka. Saya tidak dapat memposting lebih dari 2 tautan.
Instal Node.js di RPi ( http://joshondesign.com/2013/10/23/noderpi )
Halaman github saya ( https://github.com/messyfresh/pi_rc )
Firmata
Node.js (Saya menemukan versi terbaik untuk gunakan dengan socket.io dan firmata adalah 0.8.2x)
Socket.io
Node.js Firmata
Johnny-Five Node.js

messyfresh
sumber
3

Saya baru-baru ini menyertai ini dengan node-serialport .

Tautan berikut menjelaskan strategi yang baik untuk kontrol penuh atas Arduino.

Edit: seseorang diedit dan menambahkan tautan untuk saya :)

Solusi saya

Lihat arduino / serial.ino, pi / server.js dan pi / views / profile.ejs. Server.js membuka serialPort dan soket dengan profile.ejs. Ketika sesuatu terjadi pada profile.ejs itu memicu serialPort.write (buffer, encoding) di server.js;

Hanya FYI secara default Arduino Uno me-reset ketika koneksi serial dibuka. Jika Anda mencoba dan mengirim data tanpa menunggu satu atau dua detik setelah koneksi serial dibuka, itu akan gagal. Saya menemukan bahwa masalah ini teratasi dengan sendirinya ketika saya membutuhkan interaksi manusia untuk memicu serialport.write (). Solusi lain dapat ditemukan dengan googling DisablingAutoResetOnSerialConnection.

Semoga ini membantu!

@ bobbyg603

bobbyg603
sumber
Anda harus menambahkan komentar di proyek github mana yang Anda maksud, maka OP dapat melihatnya
kolin
3

Cara paling sederhana adalah menggunakan perangkat keras UART ( menonaktifkan konsol pada Pi terlebih dahulu ) di kedua perangkat. Ketika dikonfigurasikan di 115kilobaud Anda dapat mengirimkan alot data teks, seperti JSON tetapi bahkan data biner seperti ritsleting, jpg dapat ditangani. Disarankan untuk memulai dengan harga lebih rendah terlebih dahulu karena beberapa perpustakaan memiliki masalah dengan baud lebih tinggi.

Anda kemudian dapat menulis pembungkus pada Pi dalam rasa apa pun yang Anda suka: C, PHP, Java, .NET MONO, Perl atau Python.

Ini adalah opsi untuk perpustakaan ringan yang dapat Anda bangun sendiri dan ada banyak artikel tentang cara melakukan ini di Arduino dan Raspberry Pi.

Piotr Kula
sumber
1

Kami mengembangkan daemon php kecil yang menghubungkan dan membungkus daemon remserial (Uart-to-TCP-Socket). Dapat dengan mudah diperluas untuk melakukan tugas-tugas tambahan seperti menghubungkan ke server web dan mengirim beberapa data.

Daemon datang dalam sebuah paket bersama dengan WEB UI lengkap untuk mengontrol papan seperti Arduino yang disebut CoPiino.

Beri tahu saya jika Anda membutuhkan dukungan untuk mengekstrak daemon.

Beberapa info proyek dapat ditemukan di sini http://www.copiino.cc

tswaehn
sumber