• [资源获取] 【物联网俱乐部】EVB_M1开发板LiteOS+NB-IoT(or Wifi/LWM2M)对接华为Oceanconnet平台代码开源
    开发板靓照开发板简介“EVB_M1”NB-IoT开发板,是“物联网俱乐部”正式销售的第一款带低功耗STML4单片机的   开发板。开发板具有丰富的资源外设,以及灵活的传感器扩展板搭配方案,让您在NB-IoT产品的开发道路上更加便捷。EVB_M1自从上市以来广受好评,不仅通过华为LiteOS官方NB-IoT认证,而且成为华为HCNA-IoT、HCDA-IoT、HCDP-IoT培训指定开发板。开发板详细介绍链接:  m1.iot-club.cn 内含资料下载地址。案例介绍开源程序介绍此处开源程序分为三部分,包括南向基于LiteOS案例单片机程序、OceanConnet平台的Profile及编解码插件程序、北向应用程序(Android Studio手机APP 项目程序及apk)南向基于LiteOS案例单片机程序本套代码使用了LiteOS最新的C50版本的程序,并基于LiteOS的AT框架编写的5合1代码(内含基于NB-IoT温湿度采集、智慧路灯、GPS定位、智慧烟感和基于Wifi的Agent Tiny)下载地址:https://github.com/Laowang-IoTCluB/EVB_M1_LiteosOceanConnet平台的Profile及编解码插件程序北向应用程序(Android Studio手机APP 项目程序及apk)
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站一等奖——NB-IoT Traker项目分享
    原文转载至:利尔达团队王世东 分享项目详细介绍及成果展示请在一楼附件下载:)小伙伴们,大家好!很荣幸能参加这次LiteOS黑客松上海站的比赛。欢迎小伙伴们来围观,参赛产品是基于华为世界首款NB芯片Bodica120,利尔达自主研发的NB模块制作的开发板---NB-EVK(功能很强大哦,集成利尔达NB05-01模组,三轴传感器,光感传感器,压力传感器和温湿度传感器,主控为stm32L431。嗯,这里就是广告 )。《--------------------------------------------这是一条很诡异的分割线--------------------------------------------------------------》开始我们的主题:一,如何接入强大的OC平台:第一步编写profile文件:首先,研究了WaterMeter模版之后,和公共事业编写指南,会有一个整体的思路。整体的框架分为两个部分,一个profile文件和一个service文件。profile文件主要包含了设备类型,模组类型,厂商ID和厂商名称(这里要注意,厂商ID不能重复,编写编解码插件的时候配置pom.xml文件时,需要配置好指定的厂商ID,设备信息等),服务信息等字段。服务信息,格式为:"serviceId": "WaterMeterBasic",                    "serviceType": "WaterMeterBasic",                    "option": "Mandatory"字段信息有三个:“serviceID”:服务的ID;“serviceType”:服务类型;“option”:有可选服务,主服务,必选服务三个字段可选,具体可以参考公共事业编写指南。然后就是service文件的编写,具体字段可以参考---《华为IoT设备能力描述文件Profile开发指南.pdf》。profile就介绍到这里。本次参加比赛的作品profile是基于我们自己的制定的通信协议编写的,有七个服务,具体的代码就不贴了。好了,profile文件的编写就介绍到这里了。第二步,编写编解码插件:在华为开发者资源中心里面,找到华为NB-IoT设备编解码插件样例,下载下来。发现是一个maven工程,首先要安装java环境,下载eclipse软件,这里的操作我就不详细介绍了,可以参考公共事业编写指南(华为的指导文件写的很详细,按照流程来就能很快上手的,如果有不理解的地方,可以在华为开发者中心里面提单,华为的工作人员会很快答复你的)。接下来简单的介绍参赛作品的编解码插件:根据公共事业编写指南,修改pom.xml文件,修改包明名称(名称严格按照格式来命名deviceID-厂商ID-moduleType命名)。然后编写ProtocolAdapterImpl.java文件,配置你的deviceID,厂商ID的信息,接着编写encode和decode接口,主要就是根据你的profile来编写。了解Json数据格式的朋友对这块应该很容易理解,不了解的朋友可以先去了解下Json格式。相信了解了之后会很容易理解的。代码逻辑处理完之后,就要对maven文件进行部署,打开Windows DOS窗口,(没有安装maven环境的小伙伴可以百度一下maven配置教程),配置好环境之后可以输入寻找到pom.xml文件的目录,输入 mvn package(不知道maven命令的话可以参考这个帖子https://www.cnblogs.com/adolfmc/archive/2012/07/31/2616908.html),打包成功,就能利用编解码插件检测工具进行检测,根据错误码,一步步排除错误信息。我在打包之后也是遇到了很多问题,第一次编写还是会有很多错误,耐心修改就能搞定的。我们作品解析了七条服务,打包成对应的Json格式。有两条命令,和平台响应码。编解码插件就简单介绍到这里了。第三步,对接OC平台,首先要申请华为开发者帐号,申请实验室环境,或者申请开发者portal。申请到之后,如果是sp portal,就要联系华为管理员,帮你上传编解码插件,要给的资料为签名打包的编解码插件软件包,软件包格式根据公共事业编写指南里面给的说明打包,还有你的公钥文件,就可以了,不知道怎么联系华为管理员的小伙伴可以在提单里面说明需求,会有对应的人来对接你。上传编解码插件成功后,需要自己上传profile文件;如果是开发者portal就可以在线上编写和自动部署编解码插件。第四步,移植LiteOS操作系统:在研究了LiteOS操作系统后,参考了stm32L476的移植例子,进行开发板的LiteOS操作系统移植。在移植之前,首先要下载stm32L4的HAL库文件,我之前一直使用STM32Cube_FW_L4_V1.9.0,就用这个库来进行移植。可在http://www.huawei.com/minisite/liteos/cn/index.html下载说明文件,依样画葫芦。然后根据自己开发板的资源,编写底层驱动,LiteOS例程是根据官方开发板来集成了一些基本的底层驱动,比如按键和LED等。这里时钟的配置需要特别注意,在platform文件下的los_bsp_adapter.c里面要配置对应的系统时钟,这里建议用CubeMAX直接配置时钟,然后把对应的值填写到对应的参数里。这些工作都做完之后,需要编写下简单的程序进行测试。我开辟了两个线程,让开发板的红灯和绿灯轮流闪烁,这里主要用到LiteOS软件定时器组建。测试通过之后,就可以继续愉快的编写代码了。从简单的开始,初始化NB模块,配置CoAP模式。创建一个线程,定时触发NB上报一条数据,当然这当中也不是一帆风顺的,中间遇到了很多问题,请教了华为的工程师,一步步发现问题,解决问题。最后,终于可以顺利上报数据到OC平台上报完成了,那就来处理接受下发命令,开辟另一个线程,处理下发。测试到此结束,接下来就要开始编写自己的业务逻辑(这里具体逻辑我也不详细说明了,请谅解)。第五步,北向应用实现:采用PHP搭建服务器,调用华为的API接口,调用平台数据,这里使用Https协议有一个比较麻烦的问题,就是证书的问题,这里也可以在开发者中心里面提单提出问题,华为的工程师会很快回复解决你的问题(再次感谢华为工程师)。调用接口成功后,就可以看到平台推送的消息,服务器解析平台的Json数据。为了使得app兼容UDP和CoAP协议,经过一段时间的研究讨论,通过把数据往队列里面排,推送给app,app再根据我们制定的通信协议解析数据,调用高德地图,从而显示定位信息。参赛作品简单的展示:   
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站二等奖——Magnet Smart Networking 24
    原帖转载至:Magnet Smart Networking, Inc 项目详细介绍及成果展示请至一楼附件下载:)What is MagnetMagnet Smart Networking is a patent pending platform that connects people and the spaces around them. We help our customers in retail and hospitality create interactions and build proximity based analytics as one of the first companies demonstrating ability to map and display where people are in a room with their precise location and customizable personal information in 2D and Augmented Reality. Think of us as the Palantir meets Google Maps for indoor location. So what?Magnet enables its customers to increase meaningful interaction with their customers and draw analytical insights into customers’ behavior, such as movement patterns, to optimize business strategies and returns on investment. Using Magnet, customers can develop real-time personalized offers, allocate staff more efficiently, and significantly improve experience.  Magnet informs visitors of the shortest routes needed to move within a space, provides fun interactive games / experiences and helps people discover products and other people in addition to existing shops and facilities at a venue. How it worksThe Magnet app and platform are powered by our intelligence server. Our server ingests user metadata, beacon, geomagnetic, and machine vision data to understand where people are in a space and determine the best things or people for them to connect with in their vicinity. Our target industry - at the intersection of the connected retail, indoor location and event management software market - is expected to grow from $21B to $86B over the next five years.About our teamWe have a small, quick, and experienced team with 30 years combined experience in business and hospitality, a masters in artificial intelligence, a Wharton MBA and 7 years of management consulting experience in emerging tech. HackatonWe used the Giga <> development board featuring the X ARM Cortex processor and the X NB-IoT chip. We used Huawei LiteOS as the operating system that enabled us to sample sensor data and communicate bi-directionally with the Huawei Ocean Connect platform. Since this was our first experience with both LiteOS and Ocean Connect, we spent a good portion of our time familiarizing with the chip. We learned how to test and configure the X NB-IoT chip using the serial interface and X terminal program. At this point we were able to setup the device in Ocean Connect. The Ocean Connect simulator was very helpful in understanding the operations that Ocean Connect is able to perform. (maybe ** more about different pieces of Ocean Connect). We then switched over to a sample project in Keil for the ARM chip. We flashed the device and hooked up the debugging serial connector to monitor output. We worked with the team here to get an example program functioning that sent data on an interval to Ocean Connect and were able to verify it was received using the Ocean Connect tracing capability. We added the Arduino Uno shield to our dev board and started experimenting with sensors and LEDs that we brought along. Magnet is pioneering a new approach to creating more meaningful human connections with the use of wearable clothing, image recognition technology and its powerful location-driven, personality-matching platform. At venues with Magnet Zone Beacons deployed, Individuals are carefully mapped and color-coded based on their proximity and intentions, as they move towards and away from other individuals or groups to enable new business and networking opportunities. Magnet WEARIT, wearable enhanced t-shirts, will integrate and communicate with our Magnet Persona application to create this experience. The outcome of this will be to truly blend the digital and physical world by allowing people to more readily see an individual’s interests and at a glance, understand a group’s composition of interests. It will result in more effective, high quality interactions between individuals in social and business settings, enhancing a visitor’s experience and likelihood to return.
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站二等奖——智能工厂服务平台
    原文转载至:亿琪软件 jiekechoo项目详细介绍以及成果展示请至一楼附件中下载:)YiFactory是一个智能工厂项目,可帮助中小型制造企业快速实现数据采集、上传和分析。系统由上海亿琪软件有限公司研发和运营。一、系统架构1、YiFactory是一个智能设备,集成了NB-IoT模组,内置了Huawei LiteOS 系统;2、将数据发送到Huawei OceanConnect平台;3、由北向应用程序YiServer进行数据分析;4、通过PC或移动端查看和分析数据。二、开发过程1、嵌入式开发使用Keil 开发嵌入式系统,移植LiteOS,并将驱动设置完成;2、平台对接应用配置通过OceanConnect管理软件;开发者调试通过“开发者portal”,更加加速了初期调试工作。3、北向应用开发调试使用OceanConnect API,快速搭建自己的北向应用服务器。开发SDK方便快捷,指导手册清晰。三、开发效果四、经验总结1、LiteOS开发时,要注意移植LiteOS后,很多资源被OS接管了,比如:中断,系统tick等等。另一方面,要注意LiteOS文档的版本,尽量以开源版本的源代码为主;2、OceanConnect开发时,要注意profile和plugin编解码插件不能与其他开发者冲突,取名要私有化。命令下发时,一定要注意带上mid号,否则平台无法知道是哪个命令被执行成功;3、主板NB-IoT模组开发,要注意模组到天线尽量短尽量直直的,PCB上到焊接口要粗一些,可以参考模组厂家的硬件设计手册;4、设计北向应用时,要注意回调服务的证书要在有效期内,从应用导出PEM证书后,再上传到平台即可。
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站三等奖——NB-IoT智慧电表项目分享
    原文转载至:智洋赵士恒项目详细介绍及成果展示请至一楼附件下载:)1需求分析1.1行业现状及发展趋势当前,电费结算主要依靠工人抄表和电力局直接划帐的方式,但由于电表数量大,分布面广,安用电现场各式各样,有些电表由电网公司安装,有些电表为业主安装表的类型非常多,既有感应式电度表,也有电子式电度表,还有IC卡电表、本地化无线抄表等。由于点多面广,情况复杂,电力公司需要派专人经常抄表检查,这导致在用电管理中的真实性、准确性、实时性、可靠性及存在的诸多问题都缺乏有效的科学的手段进行监督,给用电管理工作带来了很大的难度。归结如下几个问题特别突出:1.  效率低下、效果不好、劳动强度大由于电表的分布特别分散,不集中,而且安装环境各异,抄表的效率极其低下。工作人员每天都要不停地上楼、下楼、跑路,劳动强度相当大,特别是在夏季高温情况下,这种工作相当辛苦。2.  出现供电故障无法及时得知有时会出现停电等各种各样的供电故障,给人们生活、生产造成不良影响,靠人工监控根本就无法及时发现并响应上述的故障。3.  私接电源窃电许多电表安装无法规范,可人为私自改动电表或私接电源窃电的机会很多。由于没有先进的技术手段对此行为进行监督管理,既使有人改电表或窃电,电力系统工作人员也无法知道。这样的现场电表读数是无法真实反映工厂实际用电情况的。4.  电表余额为零时会造成停电故障电业局安装的电表有很多是IC卡电表,这些电表当卡内余额用完之后就会自动停电。若对于IC卡表余额不足的提示无法及时知晓,常常会发生停电事故,影响工厂正常生产及运营5.  对于用户用电缺乏系统的统计资料由于人工抄表时间不固定,不能进行日抄表,因此很难建立起系统的用电统计资料,难以采取系统性措施科学用电。 现阶段存在的上述问题,如果不及时采取措施通过统一实施远程用电监控,改变管理模式加以解决,所造成的损失是长期的。1.2电表行业一般方案目前市场上各种主要功能的产品类型有以下几种:1.2.1 IC卡和红外线电表系统主要优点:不用布线主要缺点:1.技术含量不高,容量被解密、破坏和造假,会给物业部门和国家带来巨大损失。2.难以主动适应电价变动。1.2.2 控电机柜系统系统由软件、网络、用电管理器、控电机柜等组成,不用电表一般采用TCP/IP协议或485总线方式通讯,多用于学校宿舍。主要优点:不用电表,可以利用现有的宽带网络主要缺点:买电用电都由软件中控制,当用户质疑用电量的时候,用电管理部门不能拿出可信的证据说明用户实际用电量,容易引起纠纷。1.2.3 电力载波系统主要优点:不用布线,安装方便主要缺点:电力线上的电磁干扰和负载变化产生的干扰是电力载波抄表的难题,通过电力载波方式传输数据,不能随时抄收数据和控制电表,也就是说不能实现预付费功能。1.2.4 485总线方式主要优点:可实现数据的实时传输和电表控制,优于以上其他方案主要缺点:数据传输的安全可靠性,准确性不高,传输的距离有限,要布网线。1.2.5 CAN总线方式主要优点:CAN总线是新型的局域网通讯协议,具有易使用、高可靠性、无误码的特点,是传统的RS-485总线方式无法比拟的,可实现电表实时抄收、预付费后付费可选、远程通断控制、电表状态远程监控。主要缺点:需要布线,且有网络接口协议转换,拓补结构相对复杂。1.2.6 中继无线通信方式主要优点:通过内置RF模组,对终端进行无线化改造,通过数据中继连接单元DCU接入移动网络或核心网络,进而链接云端管理平台,提供抄表数据,设备状态,异常报警等数据。典型的是Lora方案。主要缺点:中间增加一个DCU中继节点,网络复杂度增高,稳定性下降。 2 NB-IoT方案论证NB-IOT是新一代无线通信技术,低功耗物联网技术的代表,应用在智慧电表行业具备天然优势。2.1 强覆盖在同样的频段下,NB-IOT比现有的网络增益20dB,覆盖面积扩大100倍。对于环境复杂,工作条件恶劣,导致的无法通信或通信丢包率严重现象有极大改善。2.2海量连接具备支撑海量连接的能力,支持低延时敏感度、超低的设备成本、低设备功耗和优化的网络架构。未来NB-IoT的网络不仅支持电表,还有水表、气表,以及成百上千各种智慧家庭终端、环境物联网传感器,而NB-IoT的强连接特性足以满足各种环境大量设备联网需求,避免网络阻塞掉线问题。2.3 低功耗NB-IoT聚焦小数据量、小速率应用,因此设备功耗可以做到非常小,续航时间可以从过去的几个月大幅提升到几年。虽然在电表应用功耗不敏感,但是在故障、停电情况下,NB-IoT模组可利用有限的小容量电池工作,提供故障检测、远程控制等功能,也有很强的实用性。2.4 低成本低速率、低功耗、低带宽同样给NB-IoT芯片以及模块带来低成本优势,这在未来规模化应用时可整体降低各类终端的成本。另外更重要的是网络建设成本大大降低:一是NB-IoT直接与运营商基站通信,无须像LoRa协议另建中继网络;二是运营商基站的射频和天线基本上都是复用的,无需复杂硬件升级。3 实施方案3.1 方案架构基于NB-IoT智慧电表解决方案架构如图所示:包括终端层、网络层、平台层、应用层。其中,终端层即为我们的智慧电表终端,其中抄表控制器采用华为LiteOS操作系统,通信模块采用移远BC95模块;网络层可通过移动、电信、联通NB-IoT基站接入核心网;平台层采用华为OceanConnect物联网平台,处理数据终端的连接,如SIM卡管理、连接管理、设备管理、安全与鉴权等;应用层采用华为云服务器,包含远程抄表、用户及数据管理、能耗优化、运维支撑系统等。 3.2 硬件我们采用NB-IoT模组GEMN01与电子式电表控制器配合,实现NB-IoT电表终端的无线通信。我们基于stm32单片机和BC95通信模块,主要调用了LiteOS中断管理、任务管理、任务同步等方面的能力,直观感受是LiteOS结构清晰,程序的升级、修改等很简单。3.3 软件1 系统架构我们软件包括web管理云平台、移动小程序。web管理云平台,含终端、用户、业务、权限管理等,可灵活、快速海量读取电表读数,对用电量跟踪统计。移动端小程序,可用来查看电表的安装、运行、统计及维护情况Web云平台采用基于AJAX技术的B/S架构模式,结合Java、以及等编程技术,提高了B/S应用的访问效率,而且优化了B/S架构模式的内部结构,提高了软件的可维护性。如下是部分云平台页面。 云平台抄表、统计页面4 总结电力抄表需要投入大量的人力、物力和财力。因为数量众多,地理位置分散,给工作人员带来极大的不便。加强用电管理,实现节能降费今后将成为现代化城市管理中的重要工作。利用NB-IoT智慧电表系统,能对电表实施远程数据采集、抄收、监测的用电综合管理系统,可减少人力资源、缩短修护时间并节省专线建设成本,并达到节能降费的目,符合国家倡导的智慧城市发展方向。 
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站三等奖——NB-IoT 物联网智慧路灯项目分享
    原文转载至:上海增容数据田喆项目详细介绍及成果展示请至一楼附件下载:)小伙伴们,大家好!很荣幸能参加这次LiteOS黑客松上海站的比赛。 我们的产品是物联网智慧路灯。 项目架构:  硬件:石墨烯LED路灯+物联网单灯控制器+EVB_M1开发板 软件:Huawei LiteOS操作系统+OceanConnect云平台+路灯控制软件 产品亮点: 增容的石墨烯LED路灯和单灯控制器从物理层面实现了大幅降低城市路灯系统的能源消耗。 再运用OceanConnect云平台技术以及Huawei LiteOS操作系统的 NB-IOT物联网技术,更加实现了路灯自动巡检和集中管控,是城市级新型智慧照明的最佳解决方案。   产品展示     78771e8103cfa54f6a5e643c41bb2b31.mp4 (8.18 MB, 下载次数: 4)  总结: 1. 从之前用LORA技术到这次的华为NB-IOT的项目实践,相对于其他的云平台,OceanConnect上手简单,可视化程度高,尤其模拟器部分,是其他云平台不具备的。 2. 对于华为Lite-OS的掌握和OS本身优势的使用还需要不断体会,有待后续项目完善过程中进步。 3. 移远的BC95功能强大,使用方便。后面在项目中会应用更多功能。
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站三等奖——NB-IoT温湿度采集器项目分享
    原文转载至:利尔达冷链团队杨守望项目详细介绍及成果展示请至一楼附件下载:)     项目概述:  通过先进的NB-IoT无线通讯技术与温湿度传感器的结合,植入Huawei LiteOS系统,利用华为OceanConnect云平台,在应用服务器分析和管理设备,实现冷链产品的温度信息、  湿度信息与工作状态的监测与管理。          硬件资源:  STM32L471RET6,lierda NB-IoT模组(型号NB05-01),2路温湿度传感器(内置传感器ENS210,外置传感器SHT21),红绿双色LED,一个功能按键,一节2400mAh低温电池  软件资源:  Huawei LiteOS系统,STM32L4 hal库。  项目架构图       产品功能:       1、 NB-IoT传输  利用NB-IoT网络进行数据交换具体广覆盖,低功耗的特点,该产品在电池供电下最高可持续工作2年。可在华为OceanConnect云平台全程监控数据传输过程。      2、 远程管理  登陆APP服务器WEB端可以掌握设备的基本信息和当前网络状况。可以对设备进行分类,方便管理和观察。    3、 异常报警  当监控的冷链产品温湿度超过设定阈值时,能快速响应并通知用户报警情况。    4、 兼容性强  该产品体积小,支持后装,只需将产品放在冷链设备需要监测的位置即可实现温湿度的采集和管理,不影响冷链设备的正常功能。  5、 后台存储和实时监控  该产品本地可以存储10万条温湿度数据,支持断点续传功能,不会丢失任何一条数据,APP后台支持存储近3个月的温湿度数据,方便客户做数据分析。    6、曲线分析    7、 实时定位(预留)  可以实现对冷链设备的定位跟踪。          调试设备demo图:    真实温湿度采集器图:  
  • [新闻信息] 【LiteOS黑客松优秀作品】2018上海站最佳创意奖——智能远程医疗监测
    原文转载至:深圳迪格微电子王新伟参赛项目  智能远程医疗监测项目描述 :远程监测 体温  心电  心率  血氧   呼吸  湿度   位置应用场景场景1  医院 幼儿园场景2   健康监护类的穿戴产品3) 场景3 生物生理追踪和远程放牧商业机遇 场景3 生物生理追踪和远程放牧应用场景Application Scenario项目主题     远程实时健康监测项目描述     远程监测 体温  心电  心率  血氧   呼吸  湿度   位置项目主题     远程实时健康监测项目描述     远程监测 体温  心电  心率  血氧   呼吸  湿度   位置
  • [新闻信息] LiteOS黑客松2018上海站完美收官!附获奖项目介绍和成果展示PPT!
    兄弟是与你并肩作战,编码不分昼夜,昂首向前兄弟是即使蓬头垢面,依然相视一笑,埋头苦干 两天一夜的奋战,这场属于极客们的技术盛宴——“Huawei LiteOS Hackathon上海站”完美收官!经过激烈紧张的角逐,最终7支队伍从24支参赛队伍中脱颖而出,分获一二三等奖及最佳创意奖。其中,利尔达团队凭借其“NB-IoT Tracker”项目,夺得桂冠。  上海站Hackathon作为Huawei LiteOS整个2017年黑客松的收官之战,解锁了很多个第一:第一次邀请到了史上最强评委阵容、第一次招募到外籍开发者团队参赛,也是第一次与安创空间合作,并圆满成功。欣喜于这么多的第一次,也期待着更多的下一次。同时希望能够与参加本次大赛的团队,日后有更紧密的交流与合作。  决赛当天分为上下午两场,上午参赛团队们进行最后冲刺并提交作品,下午各个团队上台路演,评委们根据标准进行打分,评选出最后的优胜者。作品需要在中午12:00前提交,当距离截止时间只剩最后3小时的时候,现场气氛前所未有的紧张,好像都希望在最后的时间里,能把作品完善的好些,再好些,让队友们都满意。 最强评审团:Huawei LiteOS开源发展团队总经理钟优平(左5)、华为物联网产业生态发展部部长吴晓东(左4)、华为OceanConnect物联网平台生态发展高级经理徐飞(左3)、安创空间跨境生态创新部总经理朱敏(左1)、ARM嵌入式市场经理杨瑞(右2)、上海市物联网行业协会理事长潘君才(左2)、兆易创新产品市场总监金光一(右5)、钛比科技技术专家主任史治国教授(右4)、上海贝岭股份有限公司投资部高级投资经理钱华(右3)、云汉芯城市场副总裁李剑峰(右1)决赛中每个团队需要上台演讲,只有7分钟的时间介绍自己的项目。分秒必争,时间到了的最后一秒也不愿落下一句话。 “王者”之争,一触即发。一等奖 NB-IoT Trakcer来自利尔达团队的方叶波、王世东,他们所开发的定位防丢产品,使用了华为NB-IoT的Hi2110V120芯片,基于Huawei LiteOS,大胆摒弃传统的GPRS+GPS方案,采用了NB-IoT+GPS的方案,待机时间极大延长,有效解决传统方案高功耗带来的续航问题。该项目除了可应用于老人和小孩的防丢,还可应用在畜牧业放养、物流的跟踪等各行各业各领域,并且可提供硬件+软件+服务+保险的整体定位防丢系统解决方案。 https://bbs.huaweicloud.com/forum/thread-12475-1-1.html 二等奖1. 智能工厂YiFactory——该智能工厂物联网解决方案,由上海亿琪软件有限公司组成的团队提出并实现。  多种传感器接入,实时传入云端(嵌入Huawei LiteOS并与OceanConnect集成),独立安装,可选多种传输方式。多种适配与选择,自然让YiFactory的优势获得评委们的青睐。https://bbs.huaweicloud.com/forum/thread-12477-1-1.html 2. 距离空间分析交互平台Magnet Smart Networking 是一家专注于连接人和周遭空间的智能高新科技公司,也是首家能够在2D和AR中精准定位的同时,在地图上显示出个人在空间内的活动位置及定制化个人信息的公司。  通过深度分析用户行为(例如动作模式),提升用户间交互,旨在帮助用户为他们的顾客提供实时个性化的定制,现场演示生动且有趣。https://bbs.huaweicloud.com/forum/thread-12476-1-1.html 三等奖  1. 智慧电表当前抄表业务存在效率低下、故障检测难、电力应用缺少科学的检测与统计等问题,来自智洋的团队给出了精彩的答案。 通过分析LPWA的需求及应用场景,基于Huawei LiteOS和Boudica V120芯片,充分发挥优势NB-IoT的优势,并打通到OceanConnect的连接,通过软硬件一体化解决方案,助力智慧城市升级。https://bbs.huaweicloud.com/forum/thread-12478-1-1.html  2. 温湿度采集器通过NB-IoT无线通讯技术,与温湿度传感器的有效结合,实现了冷链产品的温湿度信息与工作状态的实时监控与管理。这一项目的开发者,来自利尔达冷链应用组。  该项目可广泛应用于冷库、冷藏车、冷柜、冰箱等全冷链过程的食品和药物温湿度监控,实现市场需求和冷链资源间的高效匹配对接,降低系统成本,提高冷链资源综合利用率。https://bbs.huaweicloud.com/forum/thread-12481-1-1.html  3. 智慧路灯基于石墨烯LED路灯和物联网的智慧路灯系统从物理层面大幅降低城市路灯能源消耗的同时,更加实现了路灯自动巡检和集中管控,来自上海增容数据科技有限公司的团队,带来了这城市级新型智慧照明解决方案。  基于华为海思Hi2110平台的医院BC95模组,使用Huawei LiteOS做任务调度,对接OceanConnect云平台,提供高亮长寿命照明、先进的控制系统、丰富的接口支持、多个智慧系统链接。 https://bbs.huaweicloud.com/forum/thread-12480-1-1.html 最佳创意奖 智能远程医疗监测来自迪格微电子有限公司的团队,现场开发并完成了远程实时健康监测的项目。https://bbs.huaweicloud.com/forum/thread-12482-1-1.html  随着颁奖的结束,Huawei LiteOS Hackathon上海站也步入尾声,列席嘉宾应邀做最后的简短演讲,与在场开发者分享。 华为物联网产业生态发展部部长吴晓东表示,本次大赛团队项目覆盖度很广,包含了建筑、医疗、工业等行业,看到了很多自己工作领域外的创意项目。 兆易创新产品市场总监金光一为参赛者提出了宝贵建议,参赛项目可以在方案中多加完善商业化方面的内容,细化项目领域,这样才更能吸引到投资人。 ARM嵌入式市场经理杨瑞叮嘱创业团队在有项目想法的时候,不要急着动手,先研究一下本领域是否已有先例是否成功,如若失败了要多学习失败心得。云汉芯城市场副总裁李剑峰欣喜于看到初创团队和在校学生参与到物联网的发展中来,希望开发者团队多关注项目的市场性、安全性、行业门槛、专利产品等方面的问题,这样更能事半功倍。比赛宣布结束,各个团队将各奔东西,回归原本的工作生活。愿两天一夜的黑客马拉松,能为你们留下美好的回忆,带给你们拼搏的动力、积极的勇气、自觉的高效。整个2017年,Huawei LiteOS共举办了三届黑客马拉松。从北京、深圳、上海这一路走来,越来越多志同道合的物联网开发爱好者或开源爱好者同我们一起,通过线上或线下的积极参与,为华为物联网的开发者生态建设,画上浓墨重彩的一笔。而我们共同的18年,即将启航。
  • [技术干货] Huawei LiteOS移植指南
    本文将以STM32为例,基于Keil MDK-ARM、IAR EWARM、GCC等编译工具,详细介绍移植的全流程。移植之前,请您先确认所使用开发板是否已经在Huawei LiteOS支持列表中。如果在,那么您可以直接获取对应的代码包,进行开发,不需要阅读本文进行额外的移植工作;如果您所使用的开发板不在列表中,您可以参考本教程,完成相应的移植工作。STM32系列大致步骤如下,详细步骤请参考:https://liteos.github.io/porting/ 环境准备开发板和相关工具STM32Cube构建裸机工程其他方式获取裸机工程GitHub源码下载OS移植STM32系列:Keil MDK-ARM、IAR EWARM、SW4STM32、Makefile、GCC等都有举例,可根据需要参阅移植后验证验证实验设计验证测试结果物联网俱乐部EVB_M1开发板移植请参考:https://bbs.huaweicloud.com/forum/thread-12430-1-1.html 如果页面内容有误,或您有更好的修改建议,再或是您有兴趣移植到其他开发板并写了对应移植说明,可通过点击页面下方的 [在GitHub上编辑此页](如下图所示),在源文件内提交修改,成为LiteOS开源贡献者,会有精美礼品相送并有机会成为“华为IoT达人”一员。期待您的贡献和建议:)任何疑问欢迎直接在本帖下方留言
  • [基础介绍] 3分钟带你了解Huawei LiteOS——快速了解是什么?关键技术有哪些?可以应用到哪些领域?
    for english version, please go to the bottom of the page——————————————————————————————————————————————————English Version—————————————————————————————————————————————————————————————————————
  • [基础介绍] Huawei LiteOS资源查找导航
    资源获取地址基础介绍3分钟快速了解LiteOS全面了解LiteOS资源获取开源代码下载玩转LiteOS内核源码实例LiteOS开发指南 LiteOS SDK开发指南LiteOS API参考LiteOS移植指南参与贡献端云完整开发实例LiteOS+ (NB-IoT / WIFI / 2G ) + OceanConnect平台 的端云DemoLiteOS端云开发套件资料兆易创新GigaDevice中科创达ThunderSoft利尔达Lierda钛比科技Terabits比派科技Banana-pi物联网俱乐部IoTClub鹏立科技NB476亿琪软件YiqiSoft准捷电子LiteOne_OpenCPU视频教程物联网俱乐部NB-IoT系列课程朱老师物联网大讲堂NB-IoT系列课程2018往期活动华为IoT达人计划第二期(进行中)寻找IoT达人第一期·对接云平台(已结束)LiteOS黑客松2018上海站(已结束)LiteOS Workshop线下技术沙龙往期视频LiteOS相关网站平台LiteOS官网开发者社区技术论坛如果您对LiteOS感兴趣,欢迎加入LiteOS官方技术交流微信群加 [LiteOS小管家] 微信:HWLiteOS回复关键字:姓名-公司拉你入群本帖会持续刷新,如若感兴趣请点赞,同时欢迎收藏LiteOS板块,最先获取一手资源!任何疑问欢迎在本帖下方交流欢迎关注LiteOS官方微信公众号合作相关诉求请发送至官方邮箱:liteos@huawei.com
  • [技术干货] 【Mike教你物联网开发】LiteOS蓝牙连接demo实例(nrf51822)
    硬件环境nRF51822开发板:提供32k RAM, 256k ROMFire debugger:与nRF51822按下图所示方式连接 软件环境Keil5.25LightBlue:手机应用商店搜索下载app即可  接下来,我们开始实现这个demo~首先,我们需要将SoftDevice下载到板子中去。由于我拿到的板子已经下载好了,所以这一步就省略啦~如果你的板子是新买的可以参考下面这个网址:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk51.v10.0.0%2Fgetting_started_softdevice.html在这个demo中我使用的是s110(s110_nrf51_8.0.0_softdevice.hex)。需要特别注意的是,SoftDevice本身会占用8k的RAM和96k的ROM。 在keil中打开项目工程(见附件。适配Nordic官方的nRF51_SDK_10.0.0_dc26b5e SDK)。工程build后需要进一步的配置。点击“options for target…”,弹出下图的对话框。  在target选项卡中,将IROM1的起始地址Start与大小Size分别设为0x18000与0x28000。这是因为上面提到SoftDevice会占用96k的ROM,而基于CORTEX-M0架构的程序是从地址0x00000000处开始的。因此前96k的ROM(0x00000~0x17fff)不能使用。供我们使用的地址从0x18000开始,且可用大小为256k-96k=160k(0x28000)。RAM的起始地址为0x20000000,SoftDevice占用8k,即0x20000000~0x20001fff,可用地址从0x20002000开始,RAM剩余大小为32k-8k=24k(0x6000)。 接下来打开Debug选项卡。调试器选择CMSIS-DAP Debugger。Settings使用默认值即可。   设置完成后ctrl+F5开始Debug。我们直接运行Run(F5)。此时51822板子上的绿色指示灯开始闪烁,表明其正在等待蓝牙连接。打开手机app LightBlue,可以搜到蓝牙设备Nordic_LiteOS_HRM,也就是我们在main.c 中定义的DEVICE_NAME。点击这个设备就完成了蓝牙连接。App界面如下图所示。 此时51822的绿色指示灯保持常亮,表明蓝牙连接已经建立。最后给出51822购买链接:https://item.taobao.com/item.htm?spm=a230r.1.14.18.36403dc7UpsumE&id=37035490461&ns=1&abbucket=5#detail 
  • [技术干货] 【Mike教你物联网开发】LiteOS移植到GD32F350教程(Keil版)
    一、 打开keil创建一个新的工程。在device中选择我们的目标开发板GD32F350RB。                 如果之前没有下载过相应的PACK,则需要手动下载:         二、 在“manage project items”中,建立分组如下:         三、 将源文件加入对应的分组。在这里可以参照github上现有的工程。比如我参照的是同一家厂商生产的GD32F450i_EVAL开发板的工程。添加源码时,诸如startup,liteos/cmsis,kernel以及examples分组中的代码可以直接从参考工程中复制过来。而Drivers/GD32Fxxx_standard_peripheral中的代码要改成我们下载的PACK中官方提供的代码, liteos/arch中的los_Dispatch_keil.S要根据自己处理器的架构进行选择并添加。在这里我选择cortex-m4版本的代码。user分组中先将官方提供的代码进行替换(system_gd32fxxx.c,gd32fxxx_eval.c),其它代码先原样添加,下一步中统一进行修改。                     à               à   四、 参照其它现有工程添加完源码后,需要对代码进行一定的修改。需要修改的地方主要包括:         1. 头文件。比如 #include "gd32f4xx.h"需改为 #include "gd32f3x0.h",等等。         2. 硬件初始化。比如串口初始化,需要改为当前开发板的串口初始化函数,等等。         3. 注意部分官方代码与OS代码可能存在的重复定义问题,如gd32f3x0.h中第157行                与los_typedef.h中第81~87行        从上面可以看到,两处代码对TRUE和FALSE进行了重复定义,导致编译出错。在这里我将gd32f3x0.h中第157行注释。 五、进行了上面的修改后,开始目标设置。各选项如下:                         注:16k ram,128k flash                                                                      这里要特别注意的是,不能直接使用keil生成的sct文件。需要做相应的修改。由于GD32F350RB开发板有16k ram,128k flash,对文件修改如下: ; *************************************************************; *** Scatter-Loading Description File generated by uVision ***; *************************************************************LR_IROM1 0x08000000 0x00020000  {    ; load region size_region    ER_IROM1 0x08000000 0x00020000  {    ; load address = execution address        *.o (RESET, +First)        *(InRoot$$Sections)        .ANY (+RO)        * (LOS_HEAP_INFO)    }    VECTOR 0x20000000 0x400  {    ; Vector        * (.data.vector)    }    RW_IRAM1 0x20000400 0x00003800  {    ; RW data        ;.ANY (+RW +ZI)        * (.data, .bss)        * (LOS_HEAP)    }    ARM_LIB_STACKHEAP 0x20003C00 EMPTY 0x400  {    ;LiteOS MSP    }}                  六、设置完成后,可以编译通过。为了验证OS移植是否成功,我们可以调用examples中的LOS_Inspect_Entry()函数。该函数会对OS中所涉及的任务、内存、队列、信号量、定时器等等各种功能进行测试。根据串口打印的测试结果可以判断OS移植是否成功(需要定义宏LOS_KERNEL_DEBUG_OUT)。在这里我们的输出如下: *******************************************************************************LOS_TaskLock() Success!Example_TaskHi create Success!Example_TaskLo create Success!Enter TaskHi Handler.Enter TaskLo Handler.TaskHi LOS_TaskDelay Done.TaskHi LOS_TaskSuspend Success.TaskHi LOS_TaskResume Success.Inspect TASK success Example_Event wait event 0x1 .Example_TaskEntry_Event write event .Example_Event,read event :0x1 .EventMask:1EventMask:0Inspect EVENT success create the queue success!recv message:test is message 0recv message:test is message 1recv message:test is message 2recv message:test is message 3recv message:test is message 4recv message failure,error:200061ddelete the queue success!Inspect MSG success Example_SemTask2 try get sem g_usSemID wait forever.Example_SemTask1 try get sem g_usSemID ,timeout 10 ticks.Example_SemTask2 get sem g_usSemID and then delay 20ticks .Example_SemTask1 timeout and try get sem g_usSemID wait forever.Example_SemTask2 post sem g_usSemID .Example_SemTask1 wait_forever and got sem g_usSemID success.Inspect SEM success task2 try to get mutex, wait forever.task2 get mutex g_Testmux01 and suspend 100 Tick.task1 try to get mutex, wait 10 Tick.task1 timeout and try to get  mutex, wait forever.task2 resumed and post the g_Testmux01task1 wait forever,got mutex g_Testmux01 success.Inspect MUTEX success LOS_CyclePerTickGet = 108000 .LOS_TickCountGet = 1044 .LOS_TickCountGet after delay = 1244 .Inspect SYSTIC success create Timer1 success .create Timer2 success .start Timer1 sucess .stop Timer1 sucess .g_timercount1=1 .tick_last1=2544 .delete Timer1 failed .start Timer2 success .g_timercount2=1 .tick_last2=2644 .g_timercount2=2 .tick_last2=2744 .g_timercount2=3 .tick_last2=2844 .g_timercount2=4 .tick_last2=2944 .g_timercount2=5 .tick_last2=3044 .g_timercount2=6 .tick_last2=3144 .g_timercount2=7 .tick_last2=3244 .g_timercount2=8 .tick_last2=3344 .g_timercount2=9 .tick_last2=3444 .g_timercount2=10 .tick_last2=3544 .Inspect TIMER success initial......node add and tail add......add node successadd tail successdelete node......delete node successInspect LIST success Mem box init ok! .Mem box alloc ok .*p_num = 828 .clear data ok *p_num = 0 .Mem box free ok! .Inspect S_MEM success mempool init ok!mem alloc ok*p_num = 828mem free ok!Inspect D_MEM success Inspect completed,gInspectErrCnt = [0]*******************************************************************************可以观察输出是否合理。若最后得到gInspectErrCnt = [0]则说明移植成功。
  • [技术干货] 【Mike教你物联网开发】LiteOS+NB模组连接OC平台——骐俊ML2510 NB模组
    骐俊ML2510 NB模组内置了COAP,LWM2M协议。与BC95类似,ML2510针对华为OC平台有一套AT指令,可以方便地与OC平台进行对接。 对接OC主要有三个步骤:  首先在los_nb_init函数中初始化NB模组。中间涉及的AT指令主要有:AT+NRB,AT+CFUN,AT+CGATT, AT+CSQ以及AT+NCDP。需要注意的是,在执行命令AT+NCDP之前,必须先在OC平台注册设备,且设备编号必须设置为设备的IMEI码。 然后通过函数los_nb_notify注册数据处理函数。程序就是在函数nb_cmd_data_ioctl中处理云平台下发的命令。“+NNMI”是模组接收到数据后生成的前缀(前提是设置AT+NNMI=1):  经过注册后,若数据帧前缀为”+NNMI”,则可以确定该条数据是云平台下发的命令。云平台命令处理的一般流程是:云平台下发命令,模组收到命令后通过串口向MCU发送字符串”+NNMI:<length>,<data>”。此时会触发串口中断,进入中断响应函数: 可以看到,中断响应函数中将串口数据存入结构体at的recv_buf成员中,完成后释放信号量recv_sem。释放该信号量会唤醒任务at_recv_task:该任务在等待信号量recv_sem,因此在串口中断响应函数执行完后会被唤醒。在函数cloud_cmd_matching()中,会判断los_nb_notify中设置的“+NNMI”是否是接收到字符串的子串。若是,则说明该数据是平台下发命令,调用命令处理函数nb_cmd_data_ioctl,进行相应的操作。 最后是数据上报,通过函数los_nb_report完成。需要注意,上报数据的格式必须与云平台profile中所定义的格式一致,否则会出现上报数据全部无法识别的错误。比如,制作profile时将数据定义为长度为5的定长字符串,若需要上报数据”234”,则需要将数据长度用空格补到5,变为“  234”。
总条数:367 到第
上滑加载中