关于IOT独立一点设备配什么电池比较好

从无线制式方面将IoT的无线联网技术归为三类:

  1. BT/Zigbee等通过网关代理上网,需要与网关配对

第1类,无需配网;第3类多采用协议规定的配网方式,多为PBC触发配对方式都不討论。
这里只针对第2类(WiFi连路由器)的方式讨论其首次使用时的网络配置方式。


配有MMI I/O设备的可以直接人机交互配网。
除此之外只能通过In-Band方式配网,技术上包括以下方案:

SoftAP方式IoT设备工作与AP模式,手机直连IoT设备将目标路由器的SSID/Password传过去。
该方式是最传统的配网方式不栲虑终端兼容性问题,配网成功率100%
缺点是用户操作复杂。用户需要下载APP连接IoT设备,手动输入SSID/PasswordAPP也需要开发团队自己开发。
用户通常不習惯手动输入SSID所以希望SSID是从扫描热点列表中选取。Android手机允许APP读取AP列表iOS手机不允许。要Android和iOS体验一致通常要IoT设备自己扫描,传给APP

WPS方式,同时在IoT设备端和路由器端按下WPS按钮可以一键配对,很方便
该方式要求路由器和IoT同时支持WPS,目前部分路由器已经取消WPS功能IoT增加按键吔有诸多不便。所以该方式可以不考虑。

因为空口通信被加密通常会利用帧长度编码,效率低、易受干扰
该方案是一种hack类型的方案,未在802.11协议内规定兼容性不能保证。尤其双频下面路由器隔离了2.4G和5G的情况下,大概率会配网失败
该方式下用户操作也很复杂,相对SoftAP方式只是少了连接IoT设备的过程,仍然需要下载APPSSID/Password仍需手动输入。

该方案是路由器和IoT设备直接通信路由器是知道自己的SSID/Password的,所以极限凊况下,甚至可以上电即入网、免人工干预
该方案需要同时定制IoT和路由器,在成为标准之前只能用于自家IoT产品和自家路由器之间。局限较大需要同时兼容其他方式。

SoftAP方式和Broadcast/Sniffer方式是两种通用的In-Band配网方式。为保证配网成功率必须支持其一。考虑用户操作方便目前家鼡产品以Broadcast/Sniffer方式居多。
Beacon/Probe Vender-specific方式可以作为辅助方式,提升自家IoT产品和自家路由器之间的体验如果不是成套销售,需要同时兼容其他配网方式
WPS方式,可以有但不能只有WPS方式。

  • AP、路由、中继、桥接、客户端模式之间的区别 转载 分类: 网络编程 AP、路由、中继、桥接、客户端模式の间的区...

  • 数据链路层使用的信道有以下两种类型: ①点对点信道一对一的点对点通信方式 ②广播信道,一对多的广播通信方式复杂...

  • 看膤编辑按:目前 IoT设备的安全问题主要受限于硬件和软件。很多时候如果配置跟不上那么就算开发人员想应对安全问题...

  • 收缩套标能够实现朂佳的视觉效果,能在任意形状的包装容器上实现360°的装饰,颇受品牌商青睐。如果还能在收缩套标上实...

  • 01 小琪是个很好的女孩只是不爱看书。 念大学的时候很多同学都在忙碌,有的学商务英语有的考职业证书。他们都想...

}

从面包板到制造开始你的开源物聯网设备的开发之旅


最近,我想为创客创建一个基于Arduino的低功耗物联网(IoT)设备内置传感器可用于将传感器数据从任何位置传送到云端,并可能控制连接设备如恒温器,灯门锁和其他家庭自动化产品。在此过程中我了解到创建一个新的IoT设备,从构思到原型再到最终產品并不像我想象的那么简单,并且没有“随时可用”的开发设备然而,通过弄清楚如何做到这一点我创建了一个名为的新产品 ,┅个物联网电路板我希望这将使其他人更容易,更快地创建他们自己的物联网产品

Siguino基于的低功耗版本 ,具有板载传感器和天线并使鼡单个电池供电。它还利用了一种用于将物联网设备连接到云端的低功耗广域网。

本文介绍了从一个非常凌乱的面包板(但仍在工作)原型箌一个最终的、定制设计的印刷电路板(PCB)的各个阶段其他人有望使用这些电路板。

和众多优秀的创客项目一样我从一个概念电路开始。這涉及识别您希望设备具有的功能以及您将使用的组件我想要我的设备:

  • 包括一个Sigfox芯片,以便它可以通过Sigfox网络发送消息我选择WiSOL SFMR10芯片有兩个原因:
    • 它是一个只发送而不是收发器的芯片,我没有选择双向通信
    • 有一个 可用(对于面包板和原型设计非常有用)
    • 温度(SparkFun )用于连接嘚恒温器
    • 用于连接灯的光电平(标准光电池)
    • 用于门打开/关闭的磁性检测“霍尔效应”例如门是打开还是打开(DigiKey )
    • 用于设备安全的运动檢测、跌倒检测、周边运动检测等等。我试验了行程开关、水银开关等但我认为加速度计(Adafruit )是创客的最佳选择,因为它开启了电路板嘚固有可能性(注意,虽然原始芯片是低功耗的但该组件的分接板不是低功耗的。)

结果是相当混乱(但功能齐全!)的组件集:

一切正常后我花了一点时间用线路板跳线组装一个更整洁的版本:

下一步是编写基本代码,让我的面包板设备完成我想要它做的事情其Φ一些是标准的,并包含在每个组件的现有示例代码中例如,使用DS18B20 的代码如下所示:

有许多第三方库提供Arduino Pro Mini的低功耗使用选项我选择了嘚库。 和 提供了有关修改Arduino Pro Mini以实现低功耗的良好信息此项目的示例用法是:

//使用ADC进入8秒的断电状态和BOD模块禁用 //示例:读取传感器,数据记錄数据传输。

WiSOL Sigfox芯片可以使用标准AT命令进行通信(产品数据表中包含基本示例)对于这个项目,我只需要两个功能:

  • 发送消息: 我将底層的AT命令封装起来以便更容易发送命令,例如测试设备和消息:
  • 进入低功耗(睡眠)模式: 我选择了基本的睡眠模式,虽然这个芯片吔支持“深度睡眠”选项从1.5μA到<1μA,似乎没有什么必要因为1.5μA的静态电流消耗超出了我的目的。睡眠/唤醒周期代码如下所示:

由于Sigfox消息最多为12个字节因此最好将尽可能多的数据压缩到每个消息中。例如假设温度传感器返回的温度将在-40到+80摄氏度之间浮动。C ++中的float使用4个芓节的内存但如果没有必要,您不希望使用12字节消息的4个字节发送数字通常,您只需要知道一个半精度的温度值这样就可以将整个鈳能的温度范围压缩为8位(1个字节),因为通过将-40到+80的范围限制为一半-degree增量您只有240个可能的值,如下所示:

为了节省更多空间我将范圍限制在-10到+50摄氏度,精度为半度温度需要7位,光照水平需要5位(0到1,000)打开/关闭需要1位或者设备移动,4位消息序列号所以我可以发现任何错过的消息。所以我的基本传感器只需要使用我12字节可用消息空间中的18位,如下所示:

我调整了一位组合功能它们将获取所有传感器数据,以及我想要用于每个传感器数据的位数并将它们打包成一个12字节的值:

在为您的设备定制PCB电路之前,有必要确定一个更小哽整洁的原型电路。我选择了 这个电路的 版本最终结果应该是电路的更整洁和更紧凑的版本,这对于帮助修整最终的PCB设计非常有用(這很重要,因为根据经验PCB越大,成本越高)它还可以很好地了解最终产品可能需要哪种外壳。

我还使用了这是一款用于布置条形板戓电路的软件。它允许您可以在条形板上复制的虚拟电路我的原型电路在Fritzing看起来像这样:

这导致了这个实际(工作)电路:

为了设计我嘚PCB,我使用了 这是一款可以免费用于小板(<80cm)的软件,并且有许多组件库(包括良好的第三方库例如所有SparkFun和AdaFruit组件)。

我从这些SparkFun教程中學到了我需要了解的所有关于Eagle的知识:

根据我的经验我想提出一些建议:

  • 无论多么小,每次更改后都要进行(和重新检查)地面浇筑後重新检查,即使更改不应影响地面浇筑(通过在铜板的外层填充开放的未使用区域,通常在板的外层上然后将铜填充物与缝合过连接到地面来创建铜接地浇注。浇注的地面在缺少固体参考平面的双层板上是有用的它可以减少由于电容耦合引起的串扰。)
  • 当使用非常尛的元件(例如表面贴装元件)进行布线时,尽量不要在元件下方留下任何孔以避免在没有专业工具(例如,焊料回流焊)的情况下掱工焊接或表面贴装元件进行原型测试时出现问题取放机械等)。很难确保手工焊接或焊膏不会位于元件下方并流入下方的布线孔(您無法看到的位置)当路由这些组件中的一些有多小时,也很容易忘记

换句话说,不要这样做:

  • 对于较大的元件尽量不要在元件支脚戓焊盘附近设置布线孔,原因与上述相同

我最终完全布线的电路板布局如下所示:

在这个项目开始时,我不知道的是如何构建包含表面貼装元件(SMC)的原型使用电镀通孔(PTH)元件进行原型制作(例如面包板)要容易得多,但是最终产品不会选择PTH元件因为SMC更小更整洁。

當您使用理想的SMC组件设计PCB布局打印出来并想要将它们放在一起并进行测试时会发生什么,但是您没有任何表面贴装机器(如拾取和放置機器或焊料回流炉)你可以建立自己的回流炉,但如果你正在建造自己的回路我认为这种偏离的重点是有点耗时。并且它几乎是不必要的,因为您可以通过足够的练习手工焊接几乎所有的SMC并且您可以使用相对便宜的焊接气枪来使工作更容易。

我使用 YouTube频道来学习的基礎知识最后我将所有东西都焊接到0402组件(如果你呼吸太大,你会失去它们!)有关上下文,请参阅此组件大小比较图表:

我不建议在電路中使用0402组件(我别无选择,因为它们是天线下的射频网络的一部分更大的组件可能会影响天线性能。)事实上0602组件也非常小而苴很难焊接,但有一点练习它是非常可行的我建议第一批订购额外的PCB,纯粹用于焊接实践因为你很可能会弄乱你的第一次尝试。

  • 烙铁: 绝对值得为优质烙铁付出更多我从一个廉价的开始,几个星期后我放弃了它,用了一个更好的一切都更容易。
  • 热风焊枪:我还买叻一个 ; 虽然它已被证明比我希望的更难使用(获得正确的气压所以你不会从板上吹掉小元件是一种艺术形式!),它已经焊接了一些较尛的(VFLGA)封装集成电路就像LIS3DH一样,更容易(我甚至不确定如何单独用烙铁做这件事,虽然显然它是可能的)当你搞砸了东西时,它吔可以很容易地移除部件
  • 镊子:质量好,非常精细的镊子组对于拾取非常小的组件至关重要
  • 放大镜/放大镜:为了放大焊接以检查焊接鈈良,焊接桥斑点,漏针等我发现了一个珠宝商的放大镜,最好带有内置灯非常实用。

功耗测量是一个非常困难的过程但是非常偅要。我希望我的设备能够实现超低功耗因此可以使用小型电池工作一年(即900mAh CR2)。这意味着确保静态电流(恒定电流消耗)尽可能小降至低μA范围,同时考虑到消息发送期间偶尔会有更高的电流消耗尽管有许多方法可以评估电路的电流要求,但大多数方法的极低分辨率都很差手动机制,例如连接在电源线上的电流表使用起来很麻烦,并且只给出了在特定时间使用了多少电流的快照(在某些情况下对于任何可靠的测量都没有足够快的反应速度)。

在我尝试过的各种选项中唯一最终使用的选项是Nordic Semiconductor 的 (功率分析器套件)。它不是太貴(它和基板都大约100美元)而且效果非常好(我唯一不满的是,我无法让它在Linux上可靠地工作即使它是一个Python程序,所以我不得不在Windows下使鼡它)

PPK不仅可以生成一个非常低分辨率(< 1a)的功耗恒定视图,还可以生成一个运行时间窗的平均值(这正是我计算电池寿命所需要的):

7.对ATmega引导程序进行编程

您可能焊接到PCB上的原始ATmega芯片可能无法使用正确的保险丝设置(参见下文)或使用编程的引导加载程序进行硬编码因此您可能需要对其进行配置,以便正确操作电路板对于第一次接触印刷电路板的设计者/建造者来说,这十分令人困惑!

在设置从芯片供应商处收到的原始ATmega芯片时有三个主要任务需要解决。(注意:细节参考ATmega328P但其中大部分也适用于ATmega系列中的其他部分):

熔丝是非易失性位,定義了芯片行为方式的许多可编程方面有三个熔丝字节,每个字节有8位:低字节高字节和扩展字节。例如它们控制什么类型的时钟驱動芯片或控制掉电检测器(BOD)触发的电压。BOD在设定电压下停止代码执行以避免在功率过低时不可靠的操作。

默认值在工厂提供的芯片中設置这些可能适合芯片的预期用途。但如果没有他们需要改变。这是通过SPI总线使用合适的接口完成的例如Ardiuno Uno板。和有一些很好的指导

运行项目应用程序所需的代码需要加载到芯片中。通常使用FTDI头设备通过USB将芯片连接到PC上在这种情况下,芯片需要安装引导加载程序以便于此操作实际上,这是一个加载程序的程序但是它是通过使用适当接口的SPI总线加载的。

对于这个项目我使用一个单独的Arduino UNO来启动我嘚ATmega芯片,如下所示:

  1. 对于引导加载程序请使用Nick Gammon 的
  2. 断开Uno与PC的连接并将其连接到目标芯片,如下所示:
    10.引导加载程序应立即运行并在串行监視器窗口中显示结果; 按照串行窗口中的说明进行操作(例如“L”表示加载引导加载程序)
    11.请注意,引导加载程序会将芯片设置为使用内蔀8MHz时钟; 如果你有一个外部晶振这可以修改(见程序中的注释)

一旦芯片安装了引导加载程序,就可以通过FTDI接口加载程序代码在开发人員PC上运行的Arduino IDE可以通过该接口将应用程序代码直接加载到芯片。

8.打印PCB购买组件,制造和组装

要从面包板转向批量生产您需要各种资源(译鍺注:国内在某宝上都可以购买):

  • 硬件组件:对于电路板,你需要各种元件如各种电阻,电容传感器,集成电路等你可以在像亚马遜这样的主流网站上找到一些,但我推荐一些特定于硬件的网站作为更好的选择我主要使用 ; 和 也很好。
  • PCB打印: 一旦您设计了PCB并创建了指萣打印方式的您将需要找到一家公司进行打印。SparkFun 在“挑选PCB制造商”下值得一看的建议我使用 并发现它们非常好,及时且价格具有竞争仂但我不得不通过银行转账支付,因为他们不提供在线支付选项
  • PCB制造: 一旦您的PCB完全设计,您的组件就会被购买并手工焊接并且您嘚最后一个原型进行了测试,现在是时候批量生产了我从得到了一个非常合理的报价,其中包括汇编和ATmega芯片编程由于我还没有制造电蕗板,我不能评论它们的质量或服务

所以你已经构建了你的设备,它在Sigfox网络上发送消息(主要是在Sigfox服务器上)现在该怎么办?您将如何處理这些消息以及如何处理它们

首先要做的是让Sigfox服务器将您设备收到的任何消息转发给您控制的Web服务器或服务。关于如何实现这一点Sigfox系統有很多选项,但我认为最简单的方法是构建自己的RESTful Web服务(如下所述)并让Sigfox服务器使用消息数据向您的新服务发出HTTP请求。这可以在Sigfox后端通过使用设备的回调机制来完成您可以根据需要从包括原始消息数据在内的可用变量列表中指定发布的变量或URL参数:

RESTful Web服务是现代API接口,茬Web上无处不在有很多方法可以创建它们,但我决定先使用Go编程语言因为它是我想要学习的语言,其次因为它很容易通过Docker进行部署。GoΦWeb服务的基本结构(保存到MongoDB数据库)如下所示:

您可能构建的用于从Sigfox服务器基本处理原始数据的大多数简单Web服务都具有类似的结构

我发現对Sigfox消息解析特别有用的东西是比特解包(为我之前在Arduino代码中使用比特拆包来将尽可能多的数据压缩到我的Sigfox消息中)。用于解压缩数据的楿应Go代码如下所示:

最后就使您的设备完成数据日志记录之外的功能而言,将其与其他设备或生态系统集成的最简单方法可能是通过(译鍺注:IFTTT连接你所有的应用和设备),它是许多不同API和系统的融合一旦您,您可以访问现有的后续行动例如,“如果[您的设备发送X]然後[发送电子邮件给Y],或[让Alexa说Y]或[打开Y室中的飞利浦Hue灯],”或者其他无数的选项

Siguino项目的下一步是为它开发3D外壳,通过Sigfox设备认证计划调整忝线以充分利用它,以及资助和组织设备的第一次生产运行

由于我这个项目的主要目的是了解技术,我已经在对所有软件代码和硬件开源 如果您有任何疑问或找到有价值的信息,请在评论中告诉我

本文作者Scott Tattersall是一名自由软件顾问。擅长将最新技术(BlockchainDocker等)的知识与传统囷现代数据库(关系,非关系文档存储,列数据库等)和云部署架构和基础架构(Docker,KubernetesAWS)的丰富经验相结合。

}
nb-iot的独立一点烟感用哪个厂家的比較好呢最近有项目要做,刚接触这个的求大神推荐... nb-iot的独立一点烟感用哪个厂家的比较好呢?最近有项目要做刚接触这个的,求大神嶊荐


NB-IoT无线烟雾报警器

在各种灾害中火灾是最经常、最普遍地威胁公众安全和社会发展的主要灾害之一。消防安全工作刻不容缓我们需偠不断加强消防意识以“预防为主,防消结合”为工作方针做好消防安全工作。

根据公安部消防局公布的数据家庭火灾死亡人占总数近七成
起火场所主要分布在住宅、宿舍、办公场所、学校以及商业场所。
数据来自:公安部消防局《中国消防年鉴》


这主要得益于我国近姩来在以下方面取得了良好的发展
人们的消防安全意识越来越高对消防设备越来越重视

2013 年我国消防设备行业市场销售规模达到1000亿元,其Φ火灾报警市场规模达到 150 亿元
2014年我国消防产品行业市场销售规模约1185亿元,消防报警设备行业市场规模约176亿元

根据我国《火灾自动报警系统设计规范GB 50116 - 2013》中对烟雾传感器的安装规定,每个房间应该至少设置一只火灾探测器探测器设置规范如下图表所示:

安装的工期长、布線设计、走线困难、设备维护依靠人工巡检、效率低、人工成本高。

虽然安装方便但烟感器数量多导致网络拥堵、故障无法上报、设备咹装在室内导致网络不稳定、功耗高需频繁更换电池

NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接也被叫作低功耗廣域网(LPWAN)。NB-IoT特别适用于待机时间长、对网络连接要求较高的设备进行高效连接NB-IoT技术使设备电池寿命大幅提高,同时还能提供非常全面的室內蜂窝数据连接覆盖

消防百事通平台消防专家,名誉顾问


的泰和安有款是NB技术的,可以在手机APP实时监管到探测器状态

详细可以查看丅,有什么问题可以联系他们咨询看看

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 独立一点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信