Gateway DTU do módulo 4G + upload do sensor para a plataforma OneNET (nova versão do MQTT) solução de agricultura inteligente
Com base no artigo anterior "Tutorial de conexão da plataforma OneNET da série ZL-LTE do módulo 4G DTU (nova versão do MQTT)", hoje irei apresentar como o dispositivo DEVELOPLINK DTU ZL-LTE-300 pode realizar acesso de vários sensores a OneNET por meio de MQTTS e funções de gateway MODBUS Plataforma de soluções agrícolas inteligentes. Em seguida, atualize os tutoriais de acesso do Alibaba Cloud, Tencent Cloud e Baidu Cloud.
Os equipamentos utilizados neste artigo são: DTU ZL-LTE-300, sensor de temperatura, umidade e luz, sensor de dióxido de carbono, sensor de amônia
————————————————————————————————————————
Interessado em tecnologia IoT, junte-se a nós Grupo, bem-vindo todos os tipos de trocas técnicas, grupo QQ: 830407941 Se você
estiver interessado em nossos produtos, verifique Taobao, projeto personalizado gratuito
DEVELOPLINK ____DTU
DEVELOPLINK ____ Vários sensores
——————————————————— ———————————————————————
1. Preparação de equipamentos
1. Preparação de hardware
DTU ZL-LTE-300, sensor três em um de temperatura, umidade e luz, sensor de dióxido de carbono, sensor de amônia
2. Preparação de software
Computador host DevelopLink_DTU1.0.9
Terminal de configuração da web Developlink
ZLIOT_Sensor sensor host computer
Dois, gateway Modbus
No último tutorial, usamos com sucesso a função MQTTS para acessar a plataforma OneNET e testamos o envio e recebimento de dados. A seguir usaremos a função de gateway Modbus para transmitir dados do sensor para a plataforma OneNET e simplesmente fazer a interface de exibição.
1. Depure o sensor
1.1 O que deve ser prestado atenção é a porta serial, taxa de transmissão, endereço do sensor (ID)
Aqui, definimos a ID do sensor três em um de temperatura, umidade e luz como 1, a ID do sensor de dióxido de carbono como 2 e a ID do sensor de amônia como 3. A taxa de transmissão é definida uniformemente para 9600.
2 MODBUS de configuração do computador host DevelopLink_DTU
Tome como exemplo o sensor três em um de temperatura, umidade e luz. Seu ID é definido como 1 , então aqui o parâmetro DTU também é definido como 1. O endereço de registro do parâmetro de monitoramento precisa ver o manual do sensor correspondente. Aqui podemos ver que o endereço do registro de temperatura é 8 , umidade 9 e iluminação 10 .
Os dados de temperatura ocupam um registro, a umidade ocupa um registro e a luz ocupa dois registros (o projeto pode considerar a luz 0-20W Lux ocupando dois bits), então o comprimento total dos registros que precisam ser lidos é 4 . Selecione Curto para o tipo de dados de temperatura e umidade correspondente e Longo para luz.
(Suporta vários formatos de registro, incluindo Short, Long, Float e ordem de byte, consistente com o software Modbus Slave)
Defina os parâmetros Modbus do sensor de CO2 e NH3 por analogia, conforme mostrado na figura
Defina os parâmetros da porta serial
Grave a configuração, o DTU reiniciará automaticamente, a configuração do Modbus está concluída.
3 Converter formato de dados
Por padrão, os dados convertidos do DTU são Json, que precisam ser convertidos no formato OneJson para serem reconhecidos pela plataforma. Em seguida, no script remoto, usamos a função de gancho do Modbus para construir nosso pacote de dados personalizado.
Para criar um novo script, insira o seguinte código:
require "log"
require "default"
require "modbus"
-- 这一句非常重要
module("remotedbg", package.seeall)
-- 下行数据的钩子
local function msgSubHook(data, uid)
log.info("modbus sub1", data.temp)
-- 下行数据我们把“temp” 改变一下
if data.temp then
data.temp = data.temp / 10
log.info("modbus sub2", data.temp)
return data
else
return nil
end
end
-- 上行消息的钩子,在这里构造onejson
-- cid: 网络通道
-- msg: 数据内容,table
local function msgPubHook(msg)
-- 包装上行数据
local buff = {
id= 123, dp= {
}}
for key, value in pairs(msg) do
if key == "temp" or key == "humi" then
buff.dp[key] = {
{
v=value * 0.1}}
else
buff.dp[key] = {
{
v=value}}
end
end
-- 转json上传
buff = json.encode(buff)
log.info("modbus pub msg", buff)
return buff
end
-- 设置钩子
modbus.setPubHook(msgPubHook)
modbus.setSubHook(msgSubHook)
Faça upload do script no lado da configuração da web
3. Visualização de dados e interface visual simples
1. Visualização de dados
Detalhes de dados de temperatura
2. Edição de interface visual simples
Clique em gerenciamento de aplicativos, adicione o aplicativo
Selecione os componentes do projeto, o equipamento correspondente e o fluxo de dados Até
agora: O sensor foi conectado com sucesso à plataforma onenet e uma interface visual simples foi construída
& Há também uma interface de exibição de tela grande com uma versão paga na parte de trás (com certeza, o charme do nome moeda, que tem muitas funções e é linda)
—————————————— ------ ---------------------
por favor, juntar o nosso grupo troca se você estiver interessado em Internet da tecnologia coisas, bem-vindos todos os tipos de intercâmbios técnicos,
QQ group: 830407941 Se você
está interessado em nossos produtos, verifique Taobao, itens personalizados grátis:
DEVELOPLINK
Air724 DTU