
笔者最近拿润和HiHope Pegasus(也叫做wifiiot_hispark_pegasus)开发套件开始OpenHarmony轻量系统的学习,以此篇文章分享学习经验。
本文实现了用润和HiHope Pegasus UDP广播温湿度数据,样例demo下载链接:https://gitee.com/from-north-to-north/open-armony-north/tree/master/润和3861轻量系统UDP广播
样例运行的OpenHarmony源码环境下载:https://gitee.com/HiSpark/hi3861_hdu_iot_application
通过本文您将了解:
1、HiHopePegasus 3861 连接wifi
2、HiHopePegasus 3861 温湿度
3、HiHopePegasus 3861 UDP广播
笔者刚开始接触轻量系统开发。因为之前都接触的是标准系统(开发板是DAYU200),所以笔者开始在源码的选择还是和标准系统一样,直接拿OpenHarmony 3.2 release来编译出wifiiot_hispark_pegasus的固件。
但是等到笔者学习后发现,作为初学者的笔者拿到一些大佬的样例demo在OpenHarmony 3.2 release源码中根本编译不过(要么是一些函数名变了,要么是头文件路径变化了)。
3.2release 中的轻量系统源码,很多目录结构变化了。然后一些函数名称也有很大变化。后来咨询徐思维老师得知,因为有一些 xxx_lite 的组件退休了,和标准系统合并到一起了。(早期版本中很多组件有 xxx_lite 和 xxx,或者 xxx_lite 和 xxx_std 两个版本,xxx_lite 就是 轻量、小型 的版本。退休的组件在这个组织下面能找到: https://gitee.com/openharmony-retired)。
OpenHarmony 1.x Releases也已经全部停止维护了,参见公告:
https://gitee.com/openharmony/release-management/blob/master/OpenHarmony 1.0.1-Release分支停止维护公告.md#https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notes

详细可参见OpenHarmony版本生命周期管理 https://gitee.com/openharmony/release-management/blob/master/OpenHarmony生命周期发布公告.md。
所以我选择了从海思的仓库中下载HiHope Pegasus套件的OpenHarmony轻量系统源码,下载链接:https://gitee.com/HiSpark/hi3861_hdu_iot_application (里面润和提供的样例demo是能够跑通的,并且一直在维护)。

UDP广播温湿度 样例demo下载:https://gitee.com/from-north-to-north/open-armony-north/tree/master/润和3861轻量系统UDP广播
把样例demo下载后放置在applications/sample/wifi-iot/app文件夹下:

在样例demo中设置要连接的wifi信息。

修改applications/sample/wifi-iot/app/BUILD.gn文件,把样例demo加入编译。

修改device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。
CONFIG_I2C_SUPPORT is not set行,修改为:CONFIG_I2C_SUPPORT=y。
进行编译,然后把固件烧录到润和HiHope Pegasus开发套件中(这个部分可以参考网上大佬的文章,笔者不多叙述)。
轻量系统的编译真是快呀,两三秒就搞定。不像标准系统需要两三个小时。

将电脑连接同样的wifi,在电脑端打开socket调试工具,创建UDP组播,组播地址为255.255.255.255,组播端口为8080。

开发板连接串口工具,按下开发板上reset键。可以看到socket调试工具一直不断收到开发板UDP广播的温湿度数据。


开发板连接串口工具,按下开发板上reset键。可以看到本开发板在局域网内的ip地址。

将电脑和开发板链接同一个开发板后,可以在电脑端 ping一下开发板ip地址。

UDP广播温湿度 样例demo下载:https://gitee.com/from-north-to-north/open-armony-north/tree/master/润和3861轻量系统UDP广播。
├── BUILD.gn
├── aht20.c # 温湿度实现文件
├── aht20.h # 温湿度实现头文件
├── main.c # UDP广播温湿度实现文件
├── wifi_connecter.c # wifi连接实现文件
└── wifi_connecter.h # wifi连接实现头文件温湿度实现源码来自 https://gitee.com/HiSpark/hi3861_hdu_iot_application/tree/master/src/vendor/hihope/hispark_pegasus/demo/10_i2caht20。
wifi连接实现源码来自:
https://gitee.com/asd1122/hi3861_hdu_iot_application_cy/tree/master/demo/wifi_control。
kernel/liteos_m/cmsis/cmsis_os2.h的中文注释:
https://gitee.com/openharmony-sig/interface_native_header/blob/master/zh-cn/kernel/liteos_m/cmsis/cmsis_os2.h。
轻量级系统内核:
https://gitee.com/openharmony/docs/tree/58040d7d4d34a2176b12d08059d8d295cc821983/zh-cn/device-dev/kernel。
文章相关附件可以点击下面的原文链接前往下载:
https://ost.51cto.com/resource/2709。
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实
在Ruby中,以毫秒为单位获取自纪元(1970)以来的当前系统时间的正确方法是什么?我试过了Time.now.to_i,好像不是我想要的结果。我需要结果显示毫秒并且使用long类型,而不是float或double。 最佳答案 (Time.now.to_f*1000).to_iTime.now.to_f显示包含十进制数字的时间。要获得毫秒数,只需将时间乘以1000。 关于ruby-以毫秒为单位获取当前系统时间,我们在StackOverflow上找到一个类似的问题:
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我们有以下(以及更多)系统,我们将数据从一个应用推送/拉取到另一个:托管CRM(InsideSales.com)Asterisk电话系统(内部)横幅广告系统(openx,我们托管)潜在客户生成系统(自行开发)电子商务商店(spree,我们托管)工作板(本土)一些工作网站抓取+入站工作提要电子邮件传送系统(如Mailchimp,自主开发)事件管理系统(如eventbrite,自主开发)仪表板系统(大量图表和
我正在尝试找出一种方法来显示来自不在RAILS_ROOT下(在RedHat或Ubuntu环境中)的已安装文件系统的图像。我不想使用符号链接(symboliclink),因为这个应用程序实际上是通过Tomcat部署的,而当我关闭Tomcat时,Tomcat会尝试跟随符号链接(symboliclink)并删除挂载中的所有图像。由于这些文件的数量和大小,将图像放在public/images下也不是一种选择。我查看了send_file,但它只会显示一张图片。我需要在一个格式良好的页面中显示6个请求的图像。由于膨胀,我宁愿不使用Base64编码,但我不知道如何将图像数据与呈现的页面一起传递下去。
当您在Ruby脚本中使用系统调用时,您可以像这样获得该命令的输出:output=`ls`putsoutput这就是thisquestion是关于。但是有没有办法显示系统调用的连续输出?例如,如果您运行此安全复制命令,以通过SSH从服务器获取文件:scpuser@someserver:remoteFile/some/local/folder/...它显示随着下载进度的连续输出。但是这个:output=`scpuser@someserver:remoteFile/some/local/folder/`putsoutput...不捕获该输出。如何从我的Ruby脚本中显示正在进行的下载进度?
下载微PE工具箱进入官网下载微PE工具箱-下载 安装好后,打开微PE工具箱客户端,选择安装PE到U盘 PE壁纸可选择自己喜欢的壁纸,勾选上包含DOS工具箱,个性化盘符图标 下载原版系统进入网站下载镜像NEXT,ITELLYOU如果没有账号,注册一下就好进入选择开始使用选择win10 这里我们选择消费者版,用迅雷把BT种子下载下来 下面的两个盘符,是PE工具箱安装进U盘后,分成的盘符,注意EFI的盘符,这里面不能删东西,也不能添东西,另一个盘符可以当做正常的U盘空间使用,我们现在需要把下载下来的景象文件复制到正常的U盘空间中去 这个时候我们的系统U盘就只做好了 安装系统我们将U盘插入电脑,开机,
提供3种Ubuntu系统安装微信的方法,在Ubuntu20.04上验证都ok。1.WineHQ7.0安装微信:ubuntu20.04安装最新版微信--可以支持微信最新版,但是适配的不是特别好;比如WeChartOCR.exe报错。2.原生微信安装:linux系统下的微信安装(ubuntu20.04)--微信适配的最好,反应最快,但是微信版本只到2.1.1,版本太老,很多功能都没有。3.深度deepin-wine6安装微信:ubuntu20.04+系统deepin-wine6安装新版微信--综合比较好,当前个人使用此种方法1个月,微信版本3.4;没什么大问题,尚可。一、WineHQ7.0安装微信