IOT物联网APP开发从一门开始,万物互联,智能硬件全接口按需调用

IOT物联网APP开发从一门开始,万物互联,智能硬件全接口按需调用

今日以一门APP制作的车联网项目为例,剖析其制作过程中的相关项目经验和通信技术架构!

▌项目介绍

最初新能源汽车车主充电的方案只能通过使用充值卡进行充电,找桩也不是特别方便,制作一款可以解决这一系列问题的移动应用很有必要。

本次分享的充电桩项目解决了用户找桩难、充电繁琐的问题,通过移动应用内的地图导航找到附近的充电站,移动应用内可实时查看充电站内所有充电桩的使用状态、充电信息等,还可提前预约指定充电桩。

车主通过地图导航找

到对应桩的位置,插枪后在移动应用内遥控开启充电,可操作且可视化的应用体验,解决了新能源车主充电找桩的首要难题。

▌技术实现

● 确认智能设备的通讯方案

第一想要确认充电桩设备支持的通讯方案,一门APP支持多种物联方案,如通过socketManager模块实现socket通讯、通过ble模块实现蓝牙通讯,以及第3方的机智云gizWifiSDK模块和庆科mico等。

本项目中,运营商的充电桩设备内部采用socket方案与充电桩厂家的内部server端进行通讯。

● 确认业务流程

每一种物联设备都有相应的开启、关闭及运行中的相关业务流程,第2步想要确认整个业务流程,本项目充电桩业务流程为:预约-插枪-开始设备充电-充电中显示充电信息-结束设备充电-生成充电订单-订单支付-完成充电。

● 确认项目的物联架构

运营商诉求充电桩设备必须连接至自有服务器,将充电桩的相关控制逻辑无缝集成到整个项目移动应用的业务流程中。

充电桩厂商负责提供的可与充电桩设备进行内部通讯的server端SDK对外提供打包好的业务接口,最终安装至运营商的服务器。

在项目的后端底层抽象打包好可与SDK对外接口进行通讯的相关业务接口,在与移动应用通讯的相关业务接口中调用打包好的底层接口,最终实现移动应用控制充电桩的效果。

项目的整个物联架构:充电桩设备设备server 项目server移动应用 client,即智vue打包app能硬件+数据通信官方+业务后端+手机客户端的4方通信技术架构。

  

这种4方通信的架构不想要实现智能设备跟数据通信官方之间的协议,以及客户端跟智能设备之间的协议,一门APP官方提供的SDK已经帮忙助力制作者将协议打包过了。

4方通信架构可分为Wi-Fi或者GPRS模式与蓝牙模式两种,以下分别为两种模式的细致介绍。

Wi-Fi或者GPRS模式:当客户端去操控智能设备时,会通过Http或者Socket协议发送指令到业务后端,后端接收到指令后将该指令下发到智能设备端,智能设备接收到指令并做出反馈,通过UDP或者TCP协议将信息上报到业务端,业务端接收到反馈的数据下发到客户端进行展示。

蓝牙模式:智能设备跟客户端通过蓝牙或者Beacon协议建立连接通道,智能设备通过该连接通道将数据上报给客户端,客户端通过Http或者Socket将数据提交到业务后端,业务后端通过分析处理,将数据下发到客户端进行展示,用户能够通过客户端的数据展示,发送指令到智能设备,对设备进行操控。

▌项目总结

智能设备物联的技术难点在于怎么解决移动应用与设备之间的实时通信及移动应用与不同厂家的桩对接,本项目后端与智能硬件之间的通信,交由智能硬件厂家打包的后端SDK把网址打包成app自行处理。

SDK对外提供统一的业务接口。

项目后端采用sever层对接sever层的方案进行通讯,通过api接口的抽象打包,完成移动应用的sever层对接厂商充电桩的sever层的直接业务通讯。

采用这种方案,规避了不同设备厂家设备通讯方案、通讯协议不同导致的联调不便的问题。

项目后端不再关心智能硬件的内部通讯细节,专注于业务功能、业务逻辑的实现。

移动应用仅需调用打包好的固定API接口,即可调用智能硬件后端与智能硬件进行通讯,实现后端底层控制智能硬件,以及在不进行移动应用版本更新的情况下,同一移动应用客户端对接多个厂家的充电桩的效果。

作为将真实世界和数字世界连接起来的媒介,IoT越来越多被各大公司重视。

一门APP认为物联网不是一种行业,而是一个新的企业架构形式,并没有行业的限制,唯一限制的只web apps有人类的想象力。

2023年IoT行业制作APP还有前景嘛?

2023年IoT行业制作APP还有前景嘛?

  二01七年物联网制作者大会于1二月八日在北京北辰洲际酒店举行,大会当天涵盖一门APP、兆易创新、海尔、德思普、英特尔、是德科技、Microchip、自由互联基金会(OCF)、Silicon Labs、ST Microelectronics、威盛电子、慕尼黑上海电子展等多家企业参加展示。

  二01七年是物联网爆发增长的一年,随着技术的进步,物联网的内涵被不断重新定义。

智慧城安卓端开发框架市,智能家居,可穿戴设备,自己创建app人员智能,物联网不断诞生出新的惊奇。

而如此庞大的物联网,仅仅靠单个制作者的智慧是远远不够的。

物联网制作者大会便提供了这样一种官方,让全国顶尖物联网相关企业汇聚一堂,共同分享最新科技结果和技术经验,为物联网不断注入新的活力。

  在大会当天下午,一门APP联合创始人兼首席技术官邹达就“loT行业app的正确制作姿势”进行了主题分享。

在物联网兴起的大环境下,传统行业都在积极转型,寻求与物联网结合。

移动化则是与物联网结合非常关键的一种环节,物联网设备一般想要在移动端进行操作、查看数据等等,但较为新兴的移动端制作对于传统企业来看

往往是一大难题。

分享中,邹达将会介绍当下IoT行业app制作的趋势并解析制作中的难点以及怎么解决。

  APP作为物联网连接用户和产品的纽带,现在常见的类型核心有智HTML5 app开发框架能家居、车联网、穿戴设备、医疗健康、环境监测和城市管理这6大类。

而物联网的关键特点是应用碎片化,但也正是因为如此,很多物联网连接技术本身的问题、挑战以及在应用过程中的实际问题该怎么解决,是让众多具体行业中的工程师头疼的问题。

比如智能设备物联的技术难点在于怎么解决app与设备之间的实时通信及app与不同厂家的设备对接,一门APP官方依据不同的APP分别采用两方、3方及4方通信构架,完美解决了loT应用设备连接上的技术难点。

  一门APP跨官方app引擎,可以支持制作优质用户体验的物联网app,完善的终端适配,尽可能短的制作时间周期,轻松又跨官方的编码方案……这些几乎成了APP制作者的理想状态,而这一切通过一门APP都能够实现。

官方将大量APP所需的功能“模块化“打包,而且借助一门APP的模块机制规范的提供给制作者,一套代码同时调用iOS和Android两个官方的模块,从而实现“积木拼装”式的原生应用制作;支持多人协作制作、一键多终端调试等服务。

同时支持制作者扩展自定义模块,让APP制作更具灵活性和个性化。

为app制作者提供大量优质的原生模块,涵盖功能扩展、导航菜单、界面布局、自由SDK、设备访问、云服务对接等类型。

因此说,基于API的组件化制作模式是IoT行业app制作的主流选用之一。

更多app制作资讯,请关注www.yimenapp.com

getDeviceId 获取设备ID APP开发获取设备ID教程

getDeviceId 获取设备ID APP开发获取设备ID教程

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getDeviceId 获取设备ID APP开发获取设备ID教程

• 由于隐私限制,此设备ID已不可靠。

• 安卓推荐使用 getIMEI + getOAID

• 苹果推荐使用 getIDFA

核心代码示例,详情参阅demo

jsBridge.getDeviceId(function(id){
  alert(id);
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.getDeviceId(function(id){
  alert(id);
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.getDeviceId(function(id){
  alert(id);
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->