拓冰建站拓冰建站
首页 / 资讯中心 / 正文

免费物联网云平台选型与组态实操:从OneNET到FUXA

你有没有遇到过这种情况接了个物联网小项目或者课程设计/毕业设计要搞一套“设备上云数据大屏”打开某度搜“物联网云平台”出来的全是“免费试用”“联系商务”再往下翻就是各种搭建教程看完更懵了。更头疼的是“组态”这块很多平台压根没有要么就是收费功能画个水泵、画条管道都得单独掏钱。这个“无需付费、自带组态的物联网云平台”的需求我太熟悉了因为我当年也这么搜过而且踩了不少坑。这篇文章就围绕这个需求来写把“免费组态”这两个条件拆开揉碎讲清楚市面上到底哪些平台能用、怎么选、怎么接入、会遇到哪些坑最后给一套我自己实测过的“免费平台快速搭组态页面”的操作流程。不管你是学生做毕业设计、工程师做原型验证还是小团队接私活做演示项目这篇都值得存下来慢慢看。1. 免费选型思路先看清楚“免费”这两个字很多人一上来就问“哪个平台免费”我劝你先别急着下结论因为“免费”这事本身就有歧义。我见过不少人在网上抱怨“某某平台不免费”结果点进去看人家是免费额度和收费套餐并行只是他把收费规则看漏了或者是用了超过免费额度的功能。搞明白平台怎么赚钱反而能帮你判断哪些适合自己。1.1 免费不等于白嫖三种免费模式一次看清市面上能接触到的物联网平台免费模式基本分三类。第一类是公共物联网云平台的免费开发者版比如OneNET中移物联网、阿里云物联网平台、腾讯云IoT、涂鸦智能开发平台这类。它们一般会提供一定数量的免费设备接入、每日消息数量限制、基础物模型/数据流功能有的还带简单的应用开发或可视化组件。这类平台的好处是免部署、上线快、文档全适合快速验证产品和做演示。缺点是免费额度是死的超了就要付费而且组态功能通常比较基础复杂画面画不出来。第二类是开源物联网平台自部署比如ThingsBoard、JetLinks、FUXA等。代码是开源的你可以部署在自己的服务器上理论上不花钱但要有服务器、要自己维护。这里面的“组态”能力差异很大比如ThingsBoard自带仪表盘可以拖拽图表和卡片FUXA更偏工业组态画管道、阀门、泵这类图元特别顺手而且自带MQTT客户端能和设备直接通信。这类方案适合有一定技术能力、想完全掌控数据的人。我后面会专门讲FUXA因为它在“免费组态”这两个条件上表现很突出。第三类是硬件厂商配套的云平台比如安信可的云平台、合宙的IoT平台、各种4G模块/DTU厂商自带的云平台等。这类平台往往是“买硬件送软件”免费提供设备接入和基础数据展示有的也带简易组态主要是为了卖硬件。它们的特点是上手快但如果你想换硬件品牌平台可能就废了有绑定风险。还有一类是教育/竞赛向的平台比如Blinker、Mixly搭配的物联网扩展库、ONNET经常和OneNET混淆的那家等这类主要面向创客教育、智能家居演示组态更多是“手机App远程控制图表显示”和工业组态不是一回事但应付课程设计和创客项目够了。1.2 组态到底指什么先搞清楚你需要的“组态”是哪种“组态”这个词来自工业自动化早期是组态王、MCGS、WinCC那一类上位机软件用来画监控画面把PLC里的数据通过图形化界面显示出来。比如一个排水系统水池、水泵、管道、阀门都用图元画出来水位高低通过动画显示泵是开是停用颜色区分。这种“工业级组态”的核心是图元库丰富、动画绑定方便、要支持OPC/Modbus等工业协议做的页面能放到车间大屏上。但到了物联网云平台时代“组态”的含义被大大稀释了。很多平台把“应用开发”也叫做“组态”像OneNET的应用编辑、腾讯云IoT的可视化开发、阿里云IoT Studio里的“移动可视化开发”本质上都是——拖拽图表组件折线图、饼图、仪表盘、开关按钮绑定数据流生成一个网页或者H5应用。这种适合做数据展示靠图表和简单图形来表达信息但你要拿它画一条带动画的生产线流水线基本做不到。我建议你自己先问一句我要画的是“数据大屏”还是“工业监控画面”如果只是想看到温度曲线、开关状态、报警历史那公共云平台自带的“应用/可视化”功能就够了免费版一般也够用。如果是要复现一个设备流程比如三泵排水系统的泵组联动、液位动画、管道流动效果那你老老实实用FUXA这类组件化工具或者用网页组态库自己画。不要指望一个平台同时满足这两种需求这是选型时最容易踩的坑。2. 自带组态的免费平台怎么选三个方向、一张对比表我不打算列一长串平台名字然后说“大家去试试”因为真正值得试的就那么几个。我按使用场景分成三个方向你根据自己的技术水平和项目目标选一个深入下去就行。2.1 方向一国内公共物联网云平台最适合快速出效果国内公共平台里我实测体验最好、对个人开发者最友好的还是OneNET。为什么是它两个原因。第一是设备接入门槛低。无论是ESP32、STM32ESP8266还是4G模块比如EC200、Air724UG这类用MQTT协议接入OneNET的教程到处都是官方文档写得也还算清楚。平台提供数据流、数据点、设备影子这些基础能力足够支撑一个完整的物联网应用。第二是它自带“应用编辑”功能拖拽图表组件生成可视化页面虽然不算工业级组态但做课程设计、作品演示、老板汇报已经完全够用而且新用户注册后有免费额度个人项目基本不会超。其他备选阿里云物联网平台设备接入能力和物模型非常完善和阿里云生态打通但IoT Studio可视化大屏有一些收费项免费版功能比较精简适合有阿里云基础、后续想上云产品的人。腾讯云IoT类似阿里云可视化需要配合腾讯云开发或自建前端组态能力不算突出但文档和社区也不错。涂鸦智能主要面向智能家居产品组件多、App开店方便但如果你做的是工业设备/传感器采集类项目涂鸦的模型偏家电化不一定顺手。公共平台的共同缺点是组态页面和平台绑定页面域名是他们提供的样式模板化严重很难做出“很专业”的工业感。但胜在免费、稳定、省心适合时间紧的人。2.2 方向二开源组态软件自部署适合要画面感的项目如果你觉得公共平台的“组态”Low了或者你需要画设备工艺流程图、要动画效果、要本地化部署那就走自部署路线。我最推荐的是FUXA。它是一个基于Web的组态/SCADA软件开源免费能跑在Windows/Linux上支持MQTT、OPC UA、Modbus TCP等协议有拖拽式编辑器图元库包含管线、阀门、电机、仪表、开关等常用工业图元还能自定义图元。最大的亮点是它的数据绑定机制你先连接一个MQTT Broker可以是本地部署的EMQX也可以是公共平台的MQTT接入地址定义好标签Tag然后在画布上把图元绑定到标签运行时数据一变图元就跟着变。整个体验非常接近组态王。还有一款叫By组态的国产开源组态软件在GitHub上也有一定热度基于Vue开发组件相对现代化适合要Web集成到自己系统的场景。但它更新节奏和文档不如FUXA稳定新人上手稍微难一点。ThingsBoard也提一下它比FUXA更像“物联网平台”有设备管理、规则引擎、仪表盘等功能仪表盘能拖拽图表和卡片甚至可以嵌入自定义HTML/JavaScript来做动画学习曲线比FUXA陡但功能更全。如果你的项目需要“设备管理报警规则多用户权限数据可视化”一条龙ThingsBoard更合适。2.3 方向三开发板/模块玩家的轻量平台适合毕设和创客项目如果你是做毕业设计手里只有一块ESP32S3或者还在用Mixly图形化编程那让你去部署FUXA、编辑JSON确实有点为难。这个阶段Blinker可能是最好的选择。Blinker支持ESP8266/ESP32接入有App模板能一键生成手机控制界面也支持网页端Dashboard配合Mixly的Blinker扩展库基本是纯拖拽开发。它的界面更像“智能家居控制面板”组态感不强但胜在快。OneNET同样适合这个场景因为它的调试助手、设备模拟器、在线调试工具都很直观不需要写太多代码就能看到数据流。下面是这三个方向的核心对比方向代表平台免费情况组态能力难度适合场景公共云平台OneNET、阿里云IoT、腾讯云IoT免费额度够个人项目基础图表拖拽页面风格模板化低课程设计、原型验证、演示开源自部署FUXA、By组态、ThingsBoard软件免费服务器自备工业图元、动画绑定强中高工艺流程监控、生产看板轻量平台Blinker、Mixly生态基础功能免费偏手机App控制组态弱极低创客项目、毕设快速验证我的建议很直接先按方向一快速跑通再用方向二做成品。比如毕设答辩前一周用OneNET搭个页面给老师看数据答辩前两晚用FUXA画一张设备布局图效果直接拉满。3. 实操用OneNET应用编辑器搭一个免费组态页面这一章节我用一个以ESP32S3采集温湿度控制一个继电器模拟水泵启停的典型项目为例手把手把“设备接入平台→上报数据→页面绑定数据流→生成访问链接”全流程走一遍。这套流程我跑过很多次每一步遇到什么坑、怎么解决我都会一并写出来。3.1 设备接入前的准备注册产品、添加设备、搞定鉴权进入OneNET控制台后第一件事是“创建产品”。产品名称随意比如“智能排水演示”产品类别选“智慧城市”或者“通用”接入协议一定要选MQTT不要选HTTP组态页面实时刷新依赖MQTT长连接。创建完产品后你会拿到一个“产品ID”这是设备接入时的关键参数。然后在产品下添加设备设备名称自己定建议用有意义的英文名比如pump_01。OneNET会给每个设备生成一个“鉴权信息”device_secret有些版本的页面里叫“密钥”这个就是设备的密码。设备端接入MQTT需要三个信息clientId一般是“产品ID_设备名称”不同版本规则略有差异username产品IDpassword设备密钥部分新版OneNET改用了“token签名”模式生成密码时会让你填“res、et、method”这几个参数算法是MD5签名。这个细节坑了不少人尤其是跟着老教程做的时候新老平台混着看密码就是连不上。解决办法很简单在OneNET文档中心搜索“MQTT接入”找到你对应版本的那一篇按文档示例用Python或在线工具生成token不要盲目抄博客里的代码。ESP32S3端的代码也很直接用PubSubClient库MQTT服务器填“MQTT服务器地址”一般是mqtts.heclouds.com或IP端口1883不加密然后publish($dp, json数据, false)。设备接入成功后你会在设备详情页看到“在线”状态。这时候赶紧上报几条数据比如{temp: 25.5, humi: 60.2, pump: 1}注意OneNET的$dp主题要求的是特定JSON格式topic data平台会自动把数据拆到对应数据流。我建议在控制台手动把数据流temp、humi、pump先建好这样上报数据不会被丢弃排查问题也方便。3.2 应用编辑器新建应用、拖拽组件、绑定数据流在OneNET控制台的“应用开发”里新建一个“应用”进入可视化编辑页面。左边是组件面板中间是画布右边是属性设置。先拖一个“折线图”组件进来放在画布上半部分然后在右侧属性里选择数据源产品、设备、数据流都选好折线图就会显示temp和humi的实时曲线。这地方要提醒三个细节折线图默认展示的是“最近N个数据点”刷新频率默认10秒如果想要图更平滑就把数据上报频率调高5秒一次并且把折线图的时间范围设短否则曲线会密密麻麻看不出趋势。OneNET应用编辑器里的“开关”组件是可以下发命令的。所以除了显示数据你还可以拖一个“开关”组件绑定到pump这个数据流然后在属性里设置“下发主题”。设备端订阅对应的下发Topic一般是cmd或d2c类主题具体看控制台提示就能实现网页点开关、板子继电器动作。页面编辑完要“保存并发布”发布后会生成一个访问链接手机和电脑都能打开。甚至可以将这个链接嵌到你自己的网站里用iframe。这套流程做完你实际上就拥有了一个“免费、无需自己写前端、带实时图表和控制按钮”的物联网云平台组态页面。整个过程大概半小时比从零开发一个前端快太多了。3.3 进阶用FUXA自部署一个真正的工业组态页面如果OneNET的“图表叠图标”页面满足不了你那就上FUXA。FUXA部署不复杂在一台有Node.js 14的机器上执行git clone https://github.com/frangoteam/FUXA.git cd FUXA npm install npm start默认访问地址是http://localhost:1881。打开后先在Settings里配置MQTT Broker连接Broker可以是公共的broker.emqx.io也可以是你自己部署的EMQX甚至是OneNET的MQTT接入地址只要认证信息对。然后新建一个View左侧图元库拖管道、阀门、水泵、仪表盘到画布右侧绑定Topic和JSON解析路径。比如你在设备端发布这样一个消息到drain/temp{value: 25.5}那FUXA的标签绑定就写drain/temp/value它就会把这个值当作数字量驱动仪表盘指针。如果发布的是开关状态绑定后图元颜色会根据数值变化管道可以设置“流动动画”数值大于0时显示流动效果。FUXA对于工业控场场景真的非常香。比如“三泵排水PLCMCGS组态”这种项目用MCGS作为上位机是传统方案但那需要Windows环境、需要正版授权或者破解这我不建议碰、需要现场部署。换成FUXA之后一台树莓派或者NAS就能跑浏览器打开就是组态画面手机也能看还能同时接多台PLC通过Modbus TCP网关。这就是“开源版组态王”的魅力。不过FUXA的文档偏简陋很多功能需要自己摸索。我在这里把自己的摸索结果分享出来图元颜色绑定选中图元在“Animation/Color”里设置条件比如bind: drain/pump/value 1满足条件显示绿色不满足显示灰色。报警功能FUXA支持设置报警阈值但界面很隐蔽在“Tags”里点开高级选项才有。报警消息可以通过Websocket推送也可以配置邮件通知SMTP。历史趋势曲线FUXA自带“Chart”图元可以把多个标签拖进去做对比曲线。但历史数据默认存在SQLite里长时间运行记得定期清理否则页面加载会变慢。多用户权限免费版只有一个管理员账号没有角色权限体系。如果客户需要“不同人看不同页面”要么二次开发要么考虑ThingsBoard。3.4 设备数据上报频率与免费额度计算这里补一个很多人忽略的参数计算。OneNET免费版对每台设备有消息数限制我记得是每天一定条数具体以官方最新规则为准。假设你5秒上报一次温度数据一天24小时就是一天消息数 86400 / 5 17280条再加上确认消息、下发消息一台设备一天大约会产生2万条消息左右。如果你有10台设备就是20万条/天。有些平台的免费阈值是50万条/天那就有余量但如果你改成1秒上报一次10台设备一天就是86万条直接超限第二天连不上平台。所以我的建议是不要为了“实时”盲目提高频率。房间里测温度30秒上报一次都不会有感觉水泵状态变化是事件型用“变化才上报”的策略而不是定时上报。把上报频率降下来免费额度完全够用网络流量也省了。4. 常见问题与排查技巧实录免费平台组态实际用起来问题比想象的多。我把自己和身边人踩过的坑列几个每条都是真事每条都折腾过不少时间。4.1 设备显示在线但组态页面没数据这个问题出现的频率极高。设备明明在OneNET控制台显示“在线”点击设备详情里的“数据流”也能看到最新数据但应用编辑器里的折线图就是空的。排查思路按顺序来检查折线图组件是否正确选择了“数据流”很多人在设备详情页看到的数据流名称和应用编辑器里选的数据流名称差一个字母比如Temperature和temp平台不会报错就是不显示数据。检查应用是否已经“发布”在编辑状态下预览和正式发布是两回事没发布的话只能自己看到链接分享给别人是打不开的。检查数据点是否只是“瞬时值”折线图需要至少两个时间点才能画出线如果你只是手动上报了一条数据折线图当然只有一个点。让设备持续跑几分钟再看。4.2 4G模块连接云平台死活连不上4G模块接OneNET时常见错误有三个clientId格式不对、密码生成方式不对、域名解析不了。用4G模块时很多模块的AT指令里MQTT连接参数是分开填的有的模块还要填“产品ID”和“设备ID”到不同字段和直接写代码不一样。我建议先在电脑上用MQTT客户端比如MQTTX模拟设备把鉴权参数跑通了再去配置4G模块这样能区分是参数问题还是模块问题。如果用的是老模块、固件版本低不支持TLS加密那就不要填加密端口直接填1883端口。有些平台默认把1883端口关了只开放加密端口这时需要看文档确认或者在控制台开通。4.3 页面上的“开关”点下去没反应OneNET应用编辑器里的开关组件绑定了数据流之后还要填“下发指令”的内容。比如设备订阅了下发主题后开关打开时要往Topic发什么一般是{pump: 1}或者简化的1。有些平台的开关组件只发一个“ON”/“OFF”的字符串你设备端代码要做字符串解析否则数据格式对不上开关当然没反应。把串口监视器打开点一下网页上的开关看模块是否收到任何数据。如果收到了但没动作说明是设备端解析代码的问题如果完全没收到说明是下发主题或者权限配置问题。这个排查逻辑适用于所有平台。4.4 组态页面手机端打开变形OneNET的页面默认是PC端布局手机浏览器打开可能错位。解决办法是编辑页面时把画布宽度改成近似手机屏幕的尺寸比如375像素或者尽量用自适应布局组件。FUXA的页面是响应式的手机打开会自动缩放但图元会比较小建议给移动端单独做一个精简页面。4.5 FUXA绑定标签后图元不变色/不动画多半是标签路径写错了。FUXA的标签路径格式是“Topic/JSON键名”比如设备发布的Topic是pump/statusJSON是{running: true}那标签路径应该是pump/status/running注意用斜杠分隔不是用点。如果你在FUXA的“Log”里能看到消息但标签值不变那基本就是路径问题。还有一点FUXA默认标签更新方式是“数值变化才更新”如果你只想把状态用“0/1”表示设备端就发0/1否则图元的布尔条件判断会一直被触发。5. 我的选择建议和后续扩展方向文章写到这里该给个收尾了。我不爱写“总结”就直接说我的个人经验和建议。先说个人结论如果你是做短期项目、课程设计、原型验证首选OneNET因为它免费额度够、接入文档多、自带简单组态页面足够应付大部分汇报场景。如果你是要给甲方演示工艺流程或者想做一个能长期运行、数据不出内网的监控系统那FUXAEMQX任一一款设备端是我目前最推荐的组合成本天花板就是一台小服务器稳定性和画面效果都远超公共平台的模板化页面。再说一个很多新手没想过的事免费方案不要只依赖一家。我见过有团队在OneNET上跑了大半年业务结果平台某次规则调整免费额度缩水产品被迫连夜迁移。如果你的项目有商业化可能从一开始就在设备端做一层“平台抽象”把连接参数、上报数据格式做成配置文件一旦平台变动改配置就能切到备用方案。这个习惯救过我一次也希望能帮到你。最后分享一个小技巧无论用哪个平台都把设备端的日志输出做好。串口输出或本地文件记录记录每一次连接、断线重连、上报失败的详细信息。物联网项目最难查的问题永远是“设备现场不可达”没有日志远程排查就是盲人摸象。提前把日志做规范至少省三倍调试时间。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门