如何使用WiFi连接到Arduino?


27

我正在构建基于Arduino的太阳能供电气象站。气象站由温度传感器和光敏电阻组成,我计划将来增加风速计。我想将气象站连接到我的无线网络,这样我就可以从计算机上检索传感器数据,而无需布线(我住在出租屋里)。

将Arduino连接到WiFi有哪些不同的选择?我看过以太网屏蔽,WiFi屏蔽和称为Xbee的东西,但我不了解它们各自的用途。

我还有一个可以使用的无线家庭路由器。是否可以通过路由器的以太网或USB端口将Arduino Uno连接到路由器,然后通过我的家庭网络从Arduino接收数据并向其发送命令?如果是这样,将如何实现?

我目前有一个裸露的Arduino Uno。


4
你有以太网屏蔽吗?
jfpoilpret 2014年

3
您需要澄清您的问题:“与之沟通”是什么意思?上传草图?发送命令到草图?从草图获取数据?
jfpoilpret 2014年

我试图为问题添加细节和上下文。我目前没有任何盾牌。
jlbnjmn 2014年

我认为官方Uno的任何修订版都没有以太网端口。我猜您必须拥有一个Arduino以太网(类似),或者某种非官方的克隆?
彼得·布卢姆菲尔德

我已经编辑了问题,以指定无线路由器上的以太网端口。所以问题是:[Arduino +?+(“无线路由器”或“?” = Arduino通过我的无线网络发送数据)。
jlbnjmn 2014年

Answers:


24

您可以通过多种选择将Arduino连接到网络/互联网。

乙太网路

Arduino以太网盾之类的东西,您可以将以太网电缆从墙壁或路由器插入Arduino。显然,主要限制是您的设备现在已被电缆束缚。对于户外使用,我不会这样做。

无线上网

Arduino的无线盾可以让你连接到家庭Wi-Fi网络。就像以太网一样,除了现在无线。

ESP8266是一种便宜的替代品,随着默认固件,具有相同的功能的无线盾。请注意,使用Arduino其余部分的3.3V而不是5V供电。它还使用3.3V逻辑电平,因此请勿将Arduino的TX引脚直接连接到ESP的RX引脚;使用分压器。

射频

如果您有很多需要相互通信的传感器或其他设备,则最佳选择通常是RF模块。您在这里有很多选择,XBee就是其中之一。请查看《Sparkfun XBee购买指南》,以查看所有可用选项。那就是XBee。还有许多其他无线选项,价格不一。

RF的好处是这些都不会连接到Internet。您将使所有设备相互通信或与基站通信,然后通过WiFi或以太网模块将其连接到网络。

无线路由器串行

根据您使用的无线路由器的种类,您可以让Arduino与之直接通信,并将其用作与网络的连接。


1
对于“ RF”通信,您也可以使用流行的nRF24L01 +模块。这里有一些很好的库。RF链接的问题是,您需要让另一个Arduino或Raspberry Pi等作为“接收器”运行,然后将其连接到您要存储/查看/分析数据的计算机。对于Wifi,现在也有CC3000防护罩可用 adafruit.com/products/1534
Mike WP

在研究您提供的选项时,我遇到了Yun。那会是一个更直接的选择吗?谢谢。
jlbnjmn 2014年

也许。我自己从未使用过。防护罩并不难与之接触,并且可能更便宜。
sachleen 2014年

4

与OpenWrt和Arduino结婚

获得一个小型的支持OpenWrt的路由器,例如“ TP-Link TL-WR703N”,用当前稳定的OpenWrt版本将其刷新,然后将Arduino连接到路由器的USB端口。

该解决方案的成本仅为WiFi屏蔽的一半或更少,并且功能强大得多。

...而且便宜得多

与Raspberry Pi和Ubuntu相比,OpenWRT路由器WR703N与Arduino相连的智能家居自动化网络服务器可能是了解此内容的起点,您最喜欢的搜索引擎将找到更多有关将WR703N和Arduino结合使用的链接...

(!)也请参阅https://arduino.stackexchange.com/a/1754/653 ....


4

ESP8266是一款便宜的5 $ wifi模块,带有UART,SPI连接。它可以通过使用AT命令的常规固件或使用提供的SDK和可用的GIPO编写自定义固件与Arduino无缝集成。有关更多参考,请访问http://www.esp8266.com/


3

我已经在arduino和raspberry pi上使用xbee工作了几个月。尽管确实存在问题和怪癖,但它是沟通链中的绝佳工具。它不是完美的,但是考虑到它的网状面,对我来说它比我的wifi更远,甚至可以更可靠(带有wifi的树莓派偶尔掉线,但是连接的xbee仍在后台运行。

在我的情况下,它特别允许在我的设备(是几个arduino,一个raspberry pi(协调器)和我的mac(主要用于监视但偶尔注入串行数据)之间建立串行连接。在这种情况下,它是完美的。它不允许Internet访问或访问xbee框架之外的内容,但这非常适合我,因为实现过程非常简单,没有以太网开销的Serial.print和Serial.read。


2

我使用Spark Core,这是一个非常易于使用的Arduino编程平台。该平台是基于WiFi应该易于使用且价格便宜而建立的。甚至可以随时随地对Spark Core进行编程。


与XBee相比,价格,价格(包括诸如屏蔽之类的Arduino连接物),距离范围,编程(在Arduino上)与XBee有何不同?
jfpoilpret 2014年


1

您想要的很容易做到,并且代码已经存在。但是按照我的设想,您不会将Arduino传感器连接到wifi。相反,您将使用另一个Arduino作为网关,如下所示:

传感器Arduino:位于外部,已连接至温度传感器,风速,雨量计?

网关Arduino:位于内部,带有Wiznet 5001以太网屏蔽

传感器Arduino和网关Arduino使用非常易于使用的无线收发器nRF24L01 +相互通信。无线模块每个3美元,并且使用的库非常成熟。使用此库可轻松将所有传感器数据传送到网关。

带以太网的网关Arduino充当网络服务器,使本地网络中的任何计算机都可以打开页面并查看当前状况。在此页面上查看Arduino代码:http : //arduino.cc/en/Tutorial/WebServer

您还想保存历史温度/风速信息吗?这是最好的部分!Gateway Arduino可以将数据推送到Xively之类的服务,Xively是基于Web的免费数据收集服务,它还为您提供了一种巧妙的方式来可视化/绘制数据。使用Wiznet和nRF24L01模块会有些打h。无线模块和以太网屏蔽都使用同一条总线进行通信,因此请查看此博客以了解如何同时使用两者:

http://www.heald.ca/content/arduino-ethernet-nrf24l01-and-pachubecosmxively

Xively还允许您公开或私有该数据,因此您可以选择将您的气象站数据提供给社区。

其他一些注意事项:我喜欢nRF24L01 +模块,因为它们非常便宜。Xbee模块的成本高于Arduino本身。建立网关后,您可以继续在房屋周围添加nRF24L01 +模块。wifi盾同样存在成本问题-价格昂贵。



0

检查ESP8266 wifi模块,它是一个便宜的模块,可以通过AT命令使用任何微控制器进行控制,它也是Soc,因此您可以独立使用它。


0

使用ESP8266 AT cmd集非常困难且容易出错。建议您将ESP8266-01重新刷新为UART-WiFi桥接器,如此处所述 ESP8266 Wifi Arduino附加组件变得简单

请注意,设置程序还可以让您重新配置wifi设置,而无需重新编程ESP8266-01


0

使用ESP8266成品容易出错,需要刷新并需要更新,需要进行一些焊接,因此不适用于生产环境。另外,电源存在问题,因为您需要单独的 3.3V电源。现在是2016年(!),现在有更多可用选项。

“ UNO WiFi板是具有集成WiFi的Arduino UNO。” http://www.arduino.org/products/boards/arduino-uno-wifi

“ Star Otto是首款采用STM32F469处理器并带有WiFi的Arduino开发板。” http://www.arduino.org/products/boards/arduino-star-otto(实际上,从10月开始,它仍然不可用,“即将推出”)。

请注意,这两块板均来自其他 Arduino组织。


0

在我的IoT项目中经过几次试验和错误之后,我建议您在ESP8266(以及Arduino Uno&Nano)上开发ESP32,除非您非常了解项目范围。

ESP32优于ESP8266的优势:

  1. 更大的RAM,ESP8266:32KB指令和80KB用户数据,ESP32:520KB

我正在从事IoT项目,并尝试使用证书在GCP上对设备进行身份验证。GCP的根证书已约120 KB,因此它不适合ESP8266。有其他选择,但这使事情复杂化。

  1. ESP32有蓝牙&ESP8266没有

在物联网项目的某个时刻,您可能希望蓝牙将设备与手机连接起来...

  1. ESP32的某些版本具有用于摄像头的集成端口(搜索ESP32 CAM)

使用ESP8266,您当然可以使用相机,但这会涉及更多的编码和接线,并可能会降低性能。

最后,我尝试用Arduino Uno&Nano连接wifi芯片,但遇到了一些AT命令的错误和问题。因此,现在我对ESP32感到非常满意,因为一切都已集成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.