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

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

3天内不再提示

常供电定位器示例

银尔达_jason 来源:银尔达_jason 作者:银尔达_jason 2025-09-19 10:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​银尔达IOT物联网开发平台:iot.yinerda.com

更多资料访问:https://yinerda.yuque.com/yt1fh6/iot

功能支持4G设备的连接,管理;支持设备数据点定义,解析,处理,储存,统计;支持微信小程序/APP管理对接;通过电话、短信、微信、邮件等报警信息通知;支持服务与服务器对接;支持服务器边缘计算数据;支持私有化部署,log替换,特殊功能定制。

注意:任务可以自己写,也可以提需求找工程师实现,如果涉及到多个传感器等复杂应用,建议我们工程师给你实现,快速,稳定,靠谱。

一、功能介绍

本教程任务实现银尔达GPS模块的GPS定位数据上报,支持的产品型号:

型号 功能
G2100W GPS北斗定位,1路RS232,1路RS485,带外壳
G2111Y GPS北斗定位,1路高电平输入,1路NPN输出,1路RS485,带外壳
G2100C GPS北斗定位,1路TTL串口,外置天线,核心板
G2100C-P GPS北斗定位,1路TTL串口,板载天线,核心板
G2100Y-P GPS北斗定位,1路RS485串口,板载天线,核心板
GNSS1-P GPS北斗定位,1路高电平输入,1路NPN输出,带外壳
G2200 GPS北斗定位,电池供电,充电,带外壳

注意输入输出的还可以自己内部实现联动,比如输入触发后,控制继电器输出等,这部分逻辑可以自己实现,比较简单,也可以找工程师实现。

注意拥有串口的设备,还可以扩展各种传感器,比如读取温湿度,液位,电表,功率等数据上传监控,并且可以和继电器,输入等实现联动控制,这部分特殊逻辑比较复杂,如果有需要可以提需求让工程师给你对接传感器功能。

二、显示的UI效果

2.1、小程序界面

小程序布局默认UI,状态界面。

wKgZO2jMuaWAL7MnAAG1OxM0VwU841.png

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

编辑

wKgZPGjMuaaAY6XpAAEBiKCGKXY958.png

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

编辑

2.2、WEB界面

设备数据里面能看到当前数据点的值

wKgZO2jMuayAdpq3AAC3KkBtBI8461.png

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

编辑

三、任务代码

产品创建,DTU参数配置参考《平台入门实例(必看)》教程,里面讲解了完整的产品创建,数据点定义,设备授权,设备配置,参数更新等流程。然后在把本教程创建产品的时候使用模板“ 常供电定位器 ”创建,已经设置了数据点和UI,然后把下面的任务拷贝到DTU的分组任务里面,上电更新参数即可,不需要在额外操作。

function
	local tname="GPS"
	log.info(tname,"start")
	local nid=1
	local uid=1
	PronetStopProRecCh(1)
	UartStopProRecCh(1)
	--IOT系统保留字段
	local pver,fver,rssi,pele="GPS","DTU.1.1.21",50,50
	--自定义字段
	local vin=0
	local uptime =60
	local lasttime =os.time()
	local needdup =1
	local sdid =1
	
	--查询table 数组里面是否有某个变量
	function CheckNameInTable(t,value)
		for i, v in ipairs(t) do
			if v == value then
				return true
			end
		end
		return false
	end
	
	--通过CSQ获取信号强度的函数
	function TaskGetRssi()
		local csq = mobile.csq()
		local r =0
		if csq > 29 then 
			r = 100
		elseif csq > 25 then 
			r = 90
		elseif csq > 22 then 
			r = 80
		elseif csq > 20 then 
			r = 70
		elseif csq > 18 then 
			r = 60
		elseif csq > 16 then 
			r = 50
		elseif csq > 14 then 
			r = 40
		else 
			r = 0
		end 
		return r 
	end

	
	uptime = fskv.get("uptime") or 60

	--解析服务器
	while true do
		--接收服务器下发的数据
		local netr = PronetGetRecChAndDel(nid)
		if netr then 
			log.info(tname,"netr data",netr)
			--解析IOT模型数据服务器下发的是JSON
			local obj,r =json.decode(netr)
			if  r and obj and obj.cmd and obj.did then --判断关键字段是否缺失,然后根据自己定义的数据点去解析字段做逻辑
			    if obj.cmd =="sset" then --服务器设置参数
					local p = obj.param --把param的值取出来存起来后面做逻辑,也可以一再这里做逻辑,最好不要做延迟动作的逻辑,否则和阻塞系统
					if p.uptime then 
						uptime =  p.uptime 
						fskv.set("uptime",uptime) --保存周期上报时间
					end 
					--应答服务器
					local b={}
					b.cmd="ssetbck"
					b.did=obj.did --注意这个did需要和服务器下发的did一样,表示应答对应的命令
					b.rst=0
					b.times =os.time().."000" --转换成ms
					local s = json.encode(b)
					log.info(tname,"ssetbck data",s)	
					PronetSetSendCh(nid,s) --发给服务器应答数据	
				elseif obj.cmd =="sget" then--服务器读取一个或者多参数
					local p=obj.param.datapoint
					local b={}   --b是组装应答的结构体
					b.cmd ="sgetbck"
					b.did =obj.did
					b.rst =0
					b.times =os.time().."000" --转换成ms
					b.param={}
					-- param.xxx xxx就是服务器获取的字段,当然如果流量足够,可以直接返回设备全部的状态给服务器
					if CheckNameInTable(p,"imei") then 
						b.param.imei=mobile.imei()
					end
					if CheckNameInTable(p,"iccid") then 
						b.param.iccid=mobile.iccid()
					end 
					if CheckNameInTable(p,"imsi") then 
						b.param.imsi=mobile.imsi()
					end 
					if CheckNameInTable(p,"pver") then 
						b.param.pver=pver
					end 
					if CheckNameInTable(p,"fver") then 
						b.param.fver=fver
					end 
					b.param.rssi=TaskGetRssi() --注意rssi是百分比表示
					b.param.pele=100 --注意pele是百分比表示				
					--业务字段
					
					local lng,lngt,lat,latt =GetGps()
					
					b.param.gps={lngt,latt} --浮点数据
					local s = json.encode(b)
					log.info(tname,"sgetbck data",s)
					PronetSetSendCh(nid,s) --发给服务器应答数据
				elseif obj.cmd =="dgetbck" then --服务器应答设备获取参数的命令,可以处理也可以不出来,应答表示服务器收到了,没应答你可以重发
					
				elseif obj.cmd =="dupbck" then --服务器应答设备上报参数的命令
				
				end 
			end 
		end
		
		--主动上报数据,一般是检查状态变化后或者周期上报,IOT 要求5分钟内必须上报数据要不然会提示离线
		
		if os.time() -lasttime > uptime then  --没任何数据交互180秒上报一次
			lasttime = os.time()
			needdup =1
			log.info(tname,"heart up")
		end 

		if needdup ==1 then 
			local b={}   --b是组装应答的结构体
			b.cmd ="dup"
			b.did =sdid..""
			b.times =os.time().."000" --转换成ms
			b.param={}
			b.param.rssi=TaskGetRssi() --注意rssi是百分比表示
			b.param.pele=60 --注意pele是百分比表示				
			local lng,lngt,lat,latt =GetGps()	
			b.param.gps={lngt,latt} --浮点数据
			local s = json.encode(b)
			log.info(tname,"dup data",s)
			PronetSetSendCh(nid,s) --发给上报发给服务器
			needdup =0
			sdid =sdid+1 --每次发送后did要与上一次不一样
			lasttime = os.time()
		end 
		sys.wait(100)
	end
end
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png


​审核编辑 黄宇

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

    关注

    1

    文章

    383

    浏览量

    24615
  • 定位器
    +关注

    关注

    2

    文章

    191

    浏览量

    20021
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    解码工业通讯的“黑科技”:阀门定位器的Profinet变身之谜

    在工业自动化战场上,阀门定位器是精准调控的“关键哨兵”,但协议兼容的“语言壁垒”却让它陷入困境——当 Modbus 协议的阀门定位器遭遇 Profinet 控制系统的“命令”,数据沟通宛如“鸡同鸭讲
    的头像 发表于 11-06 10:38 474次阅读
    解码工业通讯的“黑科技”:阀门<b class='flag-5'>定位器</b>的Profinet变身之谜

    震惊!耐达讯自动化PROFIBUS转光纤技术竟能让阀门定位器“起死回生”

    在石油化工、电力等流程工业中,阀门定位器等现场仪表与控制室的PLC/DCS系统依赖PROFIBUS现场总线进行通信。然而,在大型装置中,长距离传输和强电磁干扰严重挑战着传统铜缆网络的稳定性。引入耐达讯自动化PROFIBUS转光纤,是解决这一难题,确保阀门定位器可靠连接的理
    的头像 发表于 09-12 12:55 429次阅读
    震惊!耐达讯自动化PROFIBUS转光纤技术竟能让阀门<b class='flag-5'>定位器</b>“起死回生”

    永铭 3.8V锂离子超级电容:破解集装箱定位器低温续航难题的最佳选择

    永铭3.8V锂离子超级电容:破解集装箱定位器低温续航难题的最佳选择国际运输中集装箱定位器的发展趋势随着全球物流业的快速发展,集装箱定位器作为运输行业的重要辅助设备,正被广泛应用于港口、货运公司和物流
    的头像 发表于 09-01 10:02 369次阅读
    永铭 3.8V锂离子超级电容:破解集装箱<b class='flag-5'>定位器</b>低温续航难题的最佳选择

    雷卯电子二轮车定位器电池静电浪涌防护方案

    二轮车定位器是电动自行车、电动摩托车等两轮交通工具的核心安全设备,集成卫星定位(GPS/BDS/GLONASS)、无线通信(GSM/GPRS)、电池管理等技术。定位器可以通过电瓶车的蓄电池直接取电,内部有高压降压转换模块,以适应
    的头像 发表于 06-23 09:15 614次阅读
    雷卯电子二轮车<b class='flag-5'>定位器</b>电池静电浪涌防护方案

    GPS定位器供电DCDC降压恒压芯片H6217L 低功耗 峰值电流大60V 80V 90V100V

    H6217L 是惠海半导体推出的一款 DC - DC 降压恒压芯片,专为 GPS 定位器供电应用设计,具有低成本、高精度、高可靠性等优势。以下是其特点和应用领域介绍: 产品特点 输出线损电压补偿
    发表于 06-20 09:22

    雷卯电子二轮车定位器电池静电浪涌防护方案

    二轮车定位器是电动自行车、电动摩托车等两轮交通工具的核心安全设备,集成卫星定位(GPS/BDS/GLONASS)、无线通信(GSM/GPRS)、电池管理等技术。 定位器可以通过电瓶车的蓄电池直接取电
    的头像 发表于 06-18 09:44 537次阅读
    雷卯电子二轮车<b class='flag-5'>定位器</b>电池静电浪涌防护方案

    DCDC降压恒压芯片SL9486A 宽输入5V-100V降压4.2V、5VGPS定位器电源专用

    GPS 定位器在各种复杂的供电环境下都能稳定工作。例如,在电动车领域,车辆电池电压在不同状态下会有所波动(如 48V、60V、72V 等),SL9486A 能完美应对,确保 GPS 定位器始终处于
    发表于 06-06 16:58

    PUYA普冉NOR Flash助力定位器性能提升

    在当今数字化时代,定位器作为众多智能设备的核心组件,广泛应用于物流追踪、车辆导航、智能穿戴设备以及工业自动化等多个领域。其精准、高效的数据存储与读取能力,对于设备的稳定运行至关重要。主流的硬件选型
    的头像 发表于 06-06 14:47 587次阅读
    PUYA普冉NOR Flash助力<b class='flag-5'>定位器</b>性能提升

    揭秘车载雷达定位器气密性检测仪的工作原理

    在科技日新月异的今天,车载雷达定位器已经成为我们行车生活的重要辅助工具。为了确保这些设备在各种恶劣环境下依然能够稳定运行,气密性检测成为了生产过程中的关键环节。今天,我们就来揭秘车载雷达定位器气密性
    的头像 发表于 05-07 14:21 550次阅读
    揭秘车载雷达<b class='flag-5'>定位器</b>气密性检测仪的工作原理

    数字电磁阀门定位器的使用优势与传统的模拟板不同

    数字电磁阀门定位器使用输入和输出信号来定位阀门,使其满足预定的流量和温度要求范围。它对于连续监控输入和输出信号并将它们与执行的实际物理位置进行比较非常有用。
    的头像 发表于 04-20 15:00 594次阅读
    数字电磁阀门<b class='flag-5'>定位器</b>的使用优势与传统的模拟板不同

    爱普生SG5032VAN(X1G004261)差分晶振在GPS定位器中的应用

    SG5032VAN(X1G004261)差分晶振凭借其卓越的性能,成为GPS定位器的理想时钟源选择。 1、产品特性 SG5032VAN采用PLL技术和AT晶体单元,实现了73.5MHz至700MHz的宽频率范围。这使得该晶振能够满足GPS定位器在不同工作模式下的频率需求。
    的头像 发表于 03-27 11:46 604次阅读

    兼容SiTime,国产温补晶振应用于高精度电子定位器

    兼容SiTime,国产温补晶振应用于高精度电子定位器
    的头像 发表于 03-10 09:56 700次阅读
    兼容SiTime,国产温补晶振应用于高精度电子<b class='flag-5'>定位器</b>

    定位器气密性检测仪的具体操作流程

    定位器气密性检测仪是用于检测定位器密封性能的关键设备,在工业生产中具有广泛的应用。为确保检测结果的准确性和仪器的长期稳定运行,遵循正确的操作流程至关重要。以下是定位器气密性检测仪的具体操作步骤:一
    的头像 发表于 03-05 11:52 651次阅读
    <b class='flag-5'>定位器</b>气密性检测仪的具体操作流程

    P75.Z200S/K系列大行程、高精度压电物镜定位器

    在微观世界的探索中,精准定位是成功的关键。压电物镜定位器在生命科学、材料科学、半导体等领域提供了高精度、高稳定性的物镜定位解决方案,已成为众多精密操作的得力助手。它采用先进的压电陶瓷驱动技术,通过
    的头像 发表于 02-27 16:09 851次阅读
    P75.Z200S/K系列大行程、高精度压电物镜<b class='flag-5'>定位器</b>

    拆解车上GPS定位器

    早些年干过几个月的抵押车行业,手头还剩几个装车上的GPS定位器,今天拆开来给大家来瞅瞅。 定位盒子呈长方体形状,非常的小巧,长也约摸3cm左右。颈部有一个孔是用于麦克风收音的。他的侧面贴有他的编号
    的头像 发表于 01-24 11:48 3087次阅读
    拆解车上GPS<b class='flag-5'>定位器</b>