0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何构建Arduino无线网关开发平台

电子设计 来源:郭婷 作者:电子设计 2019-02-11 07:48 次阅读

Arduino是一个开源电子原型设计平台,专门用于接收来自传感器的输入。这使其成为无线网关开发的绝佳平台。通过以太网连接,网关可用于将传感器和执行器链接到Internet,以用于智能手机和平板电脑上的应用程序。可以为这些平台开发应用程序,然后利用来自网络的数据并从世界上任何地方远程控制执行器。

广泛的开源软件为构建项目提供了宝贵的资源。它基于灵活,易用的硬件和软件,适用于设计人员,业余爱好者以及任何对创建交互式环境感兴趣的人。

有各种各样的Arduino板可用,都使用Arduino编程语言。这基于Wiring,它具有与C ++相同的语法和库,但具有简化和修改。为了使该语言易于使用,Arduino开发环境基于基于Java的Processing开源IDE。开发可以在PC或Mac上作为主机在Windows,Mac OSX或Linux下完成,也可以在主板上完成。可以使用Arduino编程语言和工具在Linux上开发网关软件。

Arduino Nano板是一款小型,完整且面包板友好的板,基于用于Arduino Nano 3.0的ATmega328处理器或用于Arduino Nano 2.x系列的ATmega168。它只缺少直流电源插孔,可以使用Mini-B USB电缆而不是标准电缆。 Nano是专门设计的,目前由Gravitech生产。 16 MHz处理器的建议输入电压为7-12 V,具有14个数字I/O引脚,每个引脚具有40 mA的直流电流,可用于为无线模块供电

ATmega168版本中有16 KB的Flash或ATmega328中有32 KB,其中引导加载程序使用2 KB。同样,ATmega168有1 KB的SRAM和512字节的EEPROM,带有ATmega168或2 KB的SRAM和1 KB的EEPROM。

Arduino主板的价值在于业余爱好者开发的开源软件系列,以及硬件的灵活性。制造商提供电路布局,并且很容易为无线功能构建附加卡或屏蔽。可以制作或购买无线屏蔽以向设计添加无线链接。

图1:Arduino Nano板。

Linux上的Arduino IDE

Arduino最常见的开发平台是Linux,它同样是开源的。根据正在使用的Linux的分布,需要一些其他程序。

关键工具是Arduino IDE 1.0.1,因为它使用内部预构建GCC(GNU编译器集合)编译器。这排除了所有工具链问题,包括Java运行时包6或7 -nopenjdk-7-jre或oracle JRE 7.

Arduino软件下载包括两个附加依赖项的自定义版本:

RXTX,用于与Arduino板等串行设备通信的Java和本机库

avrdude,一个将程序上传到AVR微控制器的应用程序(如Arduino板上的程序)

来自的avrdude修改了Arduino以确保在上传之前Arduino板的自动重置功能正常运行(如果没有,则上传将失败)。 Arduino版本的源代码也可以在开源存储库GitHub上找到。

Arduino附带的RXTX经过修改,支持Arduino Uno和Mega 2560主板使用的/dev/ttyACM格式的设备。它们使用ATmega8U2代替FTDI芯片进行USB串行通信。

无线屏蔽

XBee®屏蔽允许Arduino板使用ZigBee®进行无线通信。它可以在室内100英尺或室外300英尺(带视线)进行通信。屏蔽的简单性意味着它可以用作串行或USB替代品来创建简单的无线点对点连接,或者使用命令模式,它可以配置为各种广播和网状网络选项作为无线网关。屏蔽将每个XBee引脚分成通孔焊盘,并提供母引脚头,以便使用数字引脚2至7以及屏蔽覆盖的模拟输入。数字引脚8至13不受屏蔽的阻碍,因此它们可以使用电路板本身的接头。

图2:Arduino无线屏蔽。

XBee屏蔽有两个跳线,用于确定Arduino板上微控制器(ATmega8或ATmega168)与FTDI USB转串口芯片之间的串行通信。当跳线位于XBee位置时,XBee模块的DOUT引脚连接到微控制器的RX引脚,DIN连接到TX。

有两个模块需要正确配置才能相互通信(尽管使用默认设置,所有模块应该能够相互通信)。它们需要位于ID参数设置的同一网络上。模块需要位于CH参数设置的同一通道上。最后,模块的目标地址(DH和DL参数)确定其网络和通道上的哪些模块将接收它传输的数据。这可以通过以下几种方式实现:

如果模块DH为0且DL小于0xFFFF(即16位),则该模块传输的数据将由任何模块接收,其16位地址MY参数等于DL。

如果DH为0且DL等于0xFFFF,则所有模块都将以广播模式接收模块的传输。

如果DH非零,或者DL大于0xFFFF,传输只能由序列号等于发送模块目的地址的模块接收,即点对点连接。

但是,这个地址匹配将会仅发生在同一网络和通道上的模块之间。如果两个模块位于不同的网络或通道上,则无论其地址如何,它们都无法通信。电路板和屏蔽可以直接一起工作,但有时可能需要从Arduino电路板上运行的代码配置XBee模块。这需要开关处于Micro位置并使模块进入配置模式,它需要三个加号:+++并且前后需要至少一秒,在此期间没有其他字符被发送到模块。请注意,这包括新行或回车符。设置配置模式后,模块将发回两个字符“OK”,然后回车。

发送命令预期响应

+++确定

一旦进入配置模式,AT命令可用于控制模块。命令字符串的格式为ATxx(其中xx是设置的名称)。要读取设置的当前值,请发送命令字符串,然后发送回车符。要为设置写入新值,请发送命令字符串,紧接着是新设置(中间没有空格或换行符),然后是回车符。例如,要读取模块的网络ID(确定它将与之通信的其他XBee模块),请使用‘ATID’命令:

发送命令预期响应

ATID 3332 《 br》

更改模块的网络ID:

发送命令预期响应

ATID3331 OK

检查设置已生效:

发送命令预期响应

ATID 3331

除非将更改写入非易失性内存,否则它们只会生效模块失去动力。要永久保存更改,请以相同方式使用ATWR命令:

发送命令预期响应

ATWR确定

将模块重置为工厂设置,使用ATRE命令:

发送命令预期响应

ATRE确定

请注意,与其他命令一样,重置将不会是永久性的,除非您按照ATWR命令执行。

Laird嵌入式无线解决方案的Arduino ModFLEX Shield使用SiFLEX02,结合了高性能802.15.4无线电和微控制器,经济高效,预先认证,I/O连接器与Arduino开源平台兼容。

该模块具有900 MHz DSSS收发器,带有RF放大器电路的Atmel无线电,以及Atmel ATRXMEGA微控制器,使其具有与主板相同的环境。它预先加载了运行在Atmel 802.15.4 MAC之上的主机串行接口。屏蔽具有完整的调试和编程功能,可以开发自定义应用程序,并且可以轻松地将ZigBee堆栈或MAC加载到模块上以创建自定义网络。

该模块具有250 mW的输出功率,可提供2英里的视距范围以及1 Mbps RF数据速率。

其他无线拓扑结构

通过使用面包板原型系统,可以使用独立的无线模块为Arduino板构建屏蔽。这允许其他设备用于创建屏蔽以处理其他拓扑,例如Wi-Fi

如何构建Arduino无线网关开发平台

图3:用于连接无线模块的Arduino面包板。

Microchip的RN-171模块是一个独立的完整TCP/IP无线网络模块,可与原型板一起使用以提供Wi-Fi连接。由于其小巧的外形和极低的功耗,RN-171非常适合移动无线应用,如Arduino屏蔽。

如何构建Arduino无线网关开发平台

图4:Microchip Wi-Fi模块。

它集成了2.4 GHz无线电,TCP/IP协议栈,实时时钟,加密加速器,电源管理和模拟传感器接口。该模块预装了固件,以简化集成并最大限度地减少应用程序的开发。在最简单的配置中,硬件仅需要四个连接(PWR,TX,RX和GND)来创建无线数据连接。 RN-171还包括一个内置的HTML客户端,可自动将串行UART数据或传感器数据发布到Web服务器。

其他拓扑结构包括用于连接机器对机器(M2M)网络的Bluetooth®。

莱尔德科技无线M2M AC4490 900 MHz无线电模块使用经过现场验证的FHSS技术,无需额外的站点许可即可替代工业环境中的数英里电缆。该模块包括抗干扰功能,可与其他网络协同工作,同时保持数据完整它可以通过使用12针接头的原型面包板连接到Arduino板。

AC4490的功能包括插入式安装,多种即时控制命令,以及用作直接电缆更换的功能,无需特殊的主机软件进行通信。所有跳频,同步和RF系统数据发送/接收由模块执行。

图5:Laird蓝牙M2M模块。

无线电模块可实现超过20英里的开放场范围,在900 MHz频段内具有高传播,并包括1 W功率传输选项和接收链中的灵敏低噪声放大器。它支持单播(一对一寻址)和广播(一对多寻址)模式,以及具有硬件和/或软件ACK指示的确认模式(ACK)API,以确保已接收到数据。还有一个信标模式和一个动态无线电数据表,可保留多达12个无线电模块的数据。

Internet连接

构建无线网关的另一方面是将其连接到Internet,这很简单,使用以太网屏蔽,特别是如果它可以使用以太网供电(PoE)技术。 Arduino ETH Shield包含一个PoE模块,允许Arduino板使用以太网库连接到LAN。它包括一个带有源电压转换器的微型SD卡连接器和板载复位控制器,可通过以太网供电。

结论

将Nano等低成本处理器板与XBee等无线屏蔽相结合,可以创建易于开发的无线控制器。通过添加具有自身功率的以太网屏蔽,该组合可以成为将模块,传感器和执行器链接到Internet的无线网关,以便智能手机和平板电脑等设备可以控制它们。 Arduino IDE提供了一个强大的开发环境,项目的开源特性允许轻松获取库和代码并用于构建网关。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2547

    文章

    50522

    浏览量

    751416
  • 智能手机
    +关注

    关注

    66

    文章

    18421

    浏览量

    179768
  • Arduino
    +关注

    关注

    187

    文章

    6461

    浏览量

    186566
收藏 人收藏

    评论

    相关推荐

    无线网关设置介绍

    无线网关是指集成了无线局域网接入点功能的网关路由器设备。无线网关具备无线路由器和无线AP的功能,
    发表于 12-21 15:30 8358次阅读

    【创龙AM4379 Cortex-A9试用体验】使用USB无线网

    身边经常遇到不能插网线的情况,不能插网线怎么让创龙AM4379 Cortex-A9开发板联网呢?当然只能使用WiFi了,而开发板只有OTG接口可以接USB无线网卡,而且官方默认适配的是REALTEK
    发表于 07-18 22:16

    工业无线网关安装方法

    `  工业无线网关安装方法  购买了工业无线网关之后就需要进行安装,一般按照说明书都可以正常操作,计讯小编以TG451 为例给大家讲解一下工业无线网关的安装方法。  1、安装前确认  设备的包装包括
    发表于 03-21 15:26

    一种基于Zigbee技术的家用无线网平台研究

    研究一种基于Zigbee技术的家用无线网平台.分析了Zigbee网络协议,探讨了用Zigbee技术构建家用无线网络的关键问题对网络拓扑结构,网络路由算法和网络采样策略等问题进行了讨论
    发表于 07-15 06:18

    物联网网关和通用网关平台设计挑战是什么?

    本文介绍一个“无线网桥”的IoT网关平台架构,该网关平台灵活可变,支持不同的无线通信技术。我们还将探讨“物”与“云”通过IoT网关平台交换信
    发表于 05-17 06:21

    怎么实现基于Zigbee技术的家用无线网关的设计?

    怎么实现基于Zigbee技术的家用无线网关的设计?
    发表于 06-07 07:01

    基于NR24L01收发器模块组成的Arduino无线网

    学习如何构建由多个NR24L01收发器模块组成的Arduino无线网络。包含相关代码+线路图+详细说明下
    发表于 09-25 07:40

    构建拥有自主MAC层协议的无线网

    阐述拥有自主MAC层协议无线网卡的构建方法和实现过程。改进了基于Intersil 公司的PRISM 2系列无线网卡套片的无线局域网解决方案, 使用DSP 和CPLD 来替代其中的MAC
    发表于 04-15 09:06 20次下载

    基于802.11b无线网卡、EPXA1开发板的无线MAC开发

    利用现有802.11b无线网卡的物理层部分和Altera公司的EPXA1开发板实现可以收发802.11b无线网络信号的软件无线电平台,在此平台
    发表于 06-25 18:07 67次下载

    建设一个Arduino无线网关

    Arduino是一个开源电子原型平台,专门优化用于接收来自传感器的输入。这使得它成为开发无线网关的极好平台。通过以太网连接,
    发表于 06-24 09:29 7次下载

    无线网关是什么 无线网关的作用

    1、无线网关是什么  网关是一种充当转换重任的计算机系统或设备,在使用不同的通信协议,数据格式或语言,甚至体系结构完全不同的两种系统时,网关是一个翻译器。与网桥只是简单地传送信息不同,网关
    的头像 发表于 01-28 12:59 1.7w次阅读

    什么是无线网关无线网关的功能都有哪些

    什么是无线网关网关是一同的通讯协议、数据格式或语言,甚至系统结构完全不同的两种系统时,网关就是一种转换系统或设备,网关就是一种翻译器。 不像桥梁只是简单地传送信息,
    发表于 08-12 15:55 6303次阅读

    WiMi-net无线网关如何设置

    无线网关是一个网络连接到另一个网络的接口;WiMi-net无线网关的中央处理器负责完成433MHz的射频芯片和硬件以太网数据之间的相互转换,用户只需通过TCP/UDP的Socket来访问这个无线网关即可。
    发表于 02-25 12:09 934次阅读
    WiMi-net<b class='flag-5'>无线网关</b>如何设置

    PLC无线网关是什么?PLC无线网关的功能作用

    PLC无线网关是一种专为工业自动化设计的物联网设备,它充当可编程逻辑控制器(PLC)与无线网络之间的桥梁。通过整合无线通信技术(如4G、5G、Wi-Fi等),PLC无线网关能够实现以下
    的头像 发表于 05-16 14:16 473次阅读
    PLC<b class='flag-5'>无线网关</b>是什么?PLC<b class='flag-5'>无线网关</b>的功能作用

    plc数采无线网关是什么

    PLC(可编程逻辑控制器)数采无线网关是一种设备,它能够通过无线通信技术连接PLC和其他设备或系统,实现数据的采集、传输和远程监控。这种网关通常用于工业控制系统中,以提供更加灵活和高效的监控方案
    的头像 发表于 06-27 14:49 342次阅读
    plc数采<b class='flag-5'>无线网关</b>是什么