Làm thế nào để có wifi kết nối raspberry pi điều khiển một arduino?


8

Tôi có một arduino uno cần đáp ứng với một ứng dụng iOS với internet là phương tiện. Kế hoạch ban đầu của tôi là sử dụng một lá chắn wifi cho arduino, nhưng vì tôi không thể có được một cái vào lúc này, tôi hình dung rằng tôi chỉ có thể sử dụng một quả mâm xôi được kết nối với internet để điều khiển arduino. Tôi cho rằng điều này là có thể?

Tôi cần phải có raspberry pi trả lời máy chủ web và gửi tín hiệu đến arduino. Điều này có thể không, và nếu vậy, ai đó có thể cho tôi một lời khuyên về cách thực hiện việc này không?

Câu trả lời:


3

Tôi thực sự đang làm việc trên một dự án tương tự ngay bây giờ. Đây là một chiếc xe R / C điều khiển web đơn giản. Tôi ở cùng thuyền với bạn, ban đầu tôi muốn có một cái khiên wifi cho arduino của tôi. Nhưng tôi đã quyết định sử dụng một quả mâm xôi pi được nối với mega 2560 của tôi qua USB. Bạn nên xem xét việc chạy Firmata protcol trên arduino của bạn. Nó đi kèm với Arduino IDE. Chỉ cần xem trong Tệp-> Ví dụ-> Firmata và tải StandardFirmata lên bảng của bạn.

Bước tiếp theo tôi đã thực hiện là chạy một máy chủ web node.js với các gói nút Firmata và socket.io. Gần đây tôi đã bắt đầu thử nghiệm gói johnny-five node.js. Đơn giản là vì tôi có một chút noob khi nói đến lập trình node.js và đã gặp sự cố khiến nó hoạt động tốt chỉ với gói nút Firmata. Johnny-five có vẻ đầy hứa hẹn và tôi đã có một chút may mắn với nó, nhưng mã của tôi vẫn đang hoạt động. Tôi sẽ đăng một liên kết đến trang github của tôi để bạn ít nhất có thể có một tài liệu tham khảo (motor_test.js và motor_test.html, hãy nhớ rằng, mã vẫn không hoạt động. Tôi đã có thể điều khiển led thành công, nhưng động cơ là một câu chuyện khác. Nếu tôi có thời gian hôm nay tôi sẽ đăng mã của mình lên bộ điều khiển LED hoạt động thông qua dự án node.js.

Dù sao, tôi biết rằng tôi không thể cung cấp một giải pháp hoàn toàn hiệu quả cho bạn, nhưng tôi hy vọng điều này ít nhất giúp bạn đi đúng hướng. Vui lòng gửi email cho tôi bất cứ lúc nào (messyfresh @ gmail) Tôi muốn giúp đỡ nhiều hơn bằng mọi cách có thể.

Dưới đây là các tài liệu tham khảo. Chỉ cần Google chúng. Tôi không thể đăng nhiều hơn 2 liên kết.
Cài đặt Node.js trên RPi ( http://joshondesign.com/2013/10/23/noderpi )
Trang github của tôi ( https://github.com/messyfresh/pi_rc )
Firmata
Node.js (Tôi đã tìm thấy phiên bản tốt nhất để sử dụng với socket.io và Firmata là 0.8.2x)
Socket.io
Node.js Firmata
Johnny-Five Node.js


3

Gần đây tôi đã đồng hành điều này với nút-serialport .

Liên kết sau đây giải thích một chiến lược tốt để kiểm soát hoàn toàn Arduino.

Chỉnh sửa: ai đó đã chỉnh sửa và thêm một liên kết cho tôi :)

Giải pháp của tôi

Kiểm tra arduino / serial.ino, pi / server.js và pi / view / profile.ejs. Server.js mở serialPort và một socket với profile.ejs. Khi một cái gì đó xảy ra trên profile.ejs nó kích hoạt serialPort.write (bộ đệm, mã hóa) trong server.js;

Chỉ là một FYI theo mặc định, Arduino Uno đặt lại khi kết nối nối tiếp được mở. Nếu bạn thử và gửi dữ liệu mà không đợi một hoặc hai giây sau khi kết nối nối tiếp được mở, nó sẽ thất bại. Tôi thấy rằng vấn đề này đã tự giải quyết khi tôi yêu cầu sự tương tác của con người để kích hoạt serialport.write (). Một giải pháp khác có thể được tìm thấy bằng cách googling DiseacAutoResetOnSerialConnection.

Hi vọng điêu nay co ich!

@ bulkg603


bạn nên thêm ý kiến ​​của mình về dự án github mà bạn đang tham khảo, sau đó OP có thể có một cái nhìn
kolin

3

Cách đơn giản nhất là sử dụng UART phần cứng ( trước tiên hãy tắt bảng điều khiển trên Pi ) trên cả hai thiết bị. Khi được định cấu hình ở mức 115kilobaud, bạn có thể truyền phân bổ dữ liệu văn bản, như JSON nhưng ngay cả dữ liệu nhị phân như zips, jpg cũng có thể được xử lý. Trước tiên, nên bắt đầu với mức giá thấp hơn vì một số thư viện có vấn đề ở tốc độ cao hơn.

Sau đó, bạn có thể viết các hàm bao trên Pi theo bất kỳ hương vị nào bạn thích: C, PHP, Java, .NET MONO, Perl hoặc Python.

Đây là một tùy chọn cho thư viện gọn nhẹ mà bạn có thể tự xây dựng và có rất nhiều bài viết về cách thực hiện điều này trên Arduino và Raspberry Pi.


1

Chúng tôi đã phát triển một trình nền php nhỏ kết nối và kết thúc một trình nền còn lại (Uart-to-TCP-Socket). Nó có thể dễ dàng được mở rộng để thực hiện các tác vụ bổ sung như kết nối với máy chủ web và gửi một số dữ liệu.

Trình nền đi kèm trong một gói cùng với một UI UI hoàn chỉnh để điều khiển một bo mạch giống như Arduino có tên CoPiino.

Hãy cho tôi biết nếu bạn cần hỗ trợ giải nén daemon.

Một số infos dự án có thể được tìm thấy ở đây http://www.copiino.cc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.