2252|1

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【米尔-全志 T527 开发板-试用评测】-第一篇 小试牛刀之MQTT [复制链接]

本帖最后由 JerryZhen 于 2024-3-17 08:57 编辑

米尔开发套件 MYD-LT527由核心板 MYC-LT527 和底板MYB-LT527 组成,核心板与底板采用 LGA贴片焊接方式。随同开发套件 MYIR    提供了软件资源以及文档资料。由于全志科技 T527 系列高性能处理器是一款基于八核 Cortex-A55 + HiFi4 DSP+RISC-V 多核异构工业级处理器,因此性能肯定没得说。笔者很幸运能够在第一时间拿到板子。开发板的硬件参数以及外观可以参考官网,这里不作赘述。放上两张实物照片让大家饱饱眼福,做工很扎实,外观漂亮。

 
板子出厂系统是安卓 13,采用 AOSP 版本项目进行构建,包含完整的硬件驱动,常用的系统工具,调试工具等。支持使用 Java 进行应用开发。至于linux系统,官方表示稍后会提供 ubuntu22.04 以及buildroot系统。

 

安卓系统现在在车机之类的行业中应用很广泛。但是由于笔者主要从事工控,因此还是更习惯用linux开发。虽然现在官方暂未提供linux系统,但是问题不大,我们可以通过termux在安卓上实现类似linux虚拟机。Termux是一个专为安卓设备设计的开源Linux环境和命令行工具。通过Termux,用户可以在安卓设备上运行各种Linux命令和软件包,用来进行编程开发、网络安全测试、数据分析等各种任务。

Termux具有以下特点和功能:
1. 完全开源:Termux的所有代码都是开源的,用户可以自由地修改和定制。
2. 支持包管理:Termux内置了包管理工具,用户可以通过它来安装、更新和删除各种软件包。
3. 支持终端模拟器:Termux内置了功能强大的终端模拟器,用户可以在其中执行各种命令。
4. 支持插件:Termux还支持通过插件扩展功能,用户可以根据需要安装各种插件。
5. 社区活跃:Termux有一个激活的用户社区,用户可以在社区中获取帮助、分享经验和交流。

总的来说,Termux是一个强大的工具,可以让用户在安卓设备上轻松地进行各种Linux操作和开发任务。

 

下面笔者简要介绍下,如何在MYD-LT527的安卓系统上搭建Termux开发环境,并实现一个简单的MQTT通信demo。

首先安装两个apk(Termux, Termux:Boot),然后打开Termux.

 

pkg换源:  termux-change-repo

升级系统包:  pkg update -y

获取开发板存储权限: termux-setup-storage
安装openssh: pkg install -y openssh

启动ssh服务:sshd

设置密码:passwd

查看当前用户名:whoami

查看当前IP地址: ifconfig

 

现在可以在电脑上通过SSH远程登录开发板并进行各种操作,大大提高了开发板的可玩性。

现在我们通过python在开发板上实现mqtt收发数据为例进行讲解。

在系统中安装pyhon:pkg install python

创建项目文件夹:mkdir mqtt
进入项目目录:cd mqtt
创建python环境: python -m venv .venv
激活环境:source .venv/bin/activate
安装mqtt库: pip install paho-mqtt

 

 

然后分别实现发送客户端pub.py:

import time
import paho.mqtt.client as mqtt

broker = 'broker.emqx.io'
port = 1883
topic = "/Python/mqtt"


mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)

mqttc.connect(broker, port)
mqttc.loop_start()

msg_count = 0
while True:
    time.sleep(1)
    msg = f"messages: {msg_count}"
    msg_info = mqttc.publish(topic, msg)
    print(f"Send `{msg}` to topic `{topic}`")
    msg_count += 1


mqttc.disconnect()
mqttc.loop_stop()

再实现接收客户端sub.py:

import paho.mqtt.client as mqtt

broker = 'broker.emqx.io'
port = 1883
topic = "/Python/mqtt"



def on_message(client, userdata, message):
    print(f"Received `{message.payload.decode()}` from `{message.topic}` topic")

def on_connect(client, userdata, flags, reason_code, properties):
    if reason_code.is_failure:
        print(f"Failed to connect: {reason_code}. loop_forever() will retry connection")
    else:
        client.subscribe(topic)

mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqttc.on_connect = on_connect
mqttc.on_message = on_message

mqttc.connect(broker, port)
mqttc.loop_forever()

 

代码中broker选择公网的emqx官方服务器,配置如下:
broker = 'broker.emqx.io'
port = 1883
topic = "/Python/mqtt"

 

然后在两个窗口中分别运行发送客户端和接收客户端, 并观察结果。

 
至此第一篇分享结束,我们已经成功的在米尔T527开发板实现了一个简单的mqtt通讯应用。后面章节我们会基于T527做工业边缘网关,实现更强大的功能。

 

此帖出自工控电子论坛

最新回复

期待楼主基于T527做工业边缘网关,实现更强大的功能,后面精彩测评   详情 回复 发表于 2024-3-18 07:48
点赞 关注(1)
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

期待楼主基于T527做工业边缘网关,实现更强大的功能,后面精彩测评

此帖出自工控电子论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表