当前位置: 首页 > midemo > Yap Cat.1物联网通讯终端机产品介绍

Yap Cat.1物联网通讯终端机产品介绍

发布于:2021-6-13 最后更新:2021-7-19 midemo 0条评论 782 views

版本:0.2

1 产品简介:

Yap Cat.1物联网通讯终端(下面简称Yap终端机或终端)基于上海合宙物联网出品的当红物联网模块Luat Air724。 得益于采用先进的蜂窝物联网4G LTE Cat.1 通讯技术,设备在网络覆盖,能耗,传输速度,传输距离,传输延迟,各方面性能俱优。 同时,终端兼具通讯和边缘数据处理功能,数据传输、运算性能俱优,扩展性强,可以胜任多数物联网应用场景。 不仅是大专院校学生朋友入门物联网技术的最佳工具,也是行业人士进行物联网设备研发的利器。

Yap终端机具有 4G Volte语音,USB上网,串口DTU通讯 三大基本功能。 除此之外,得益于内置的上海合宙独创的Luat虚拟机技术,Yap终端机可以作为边缘物联网控制节点独立使用,驱动各类传感器、执行器完成数据采集、数据传送、逻辑控制等操作。 终端驱动设备类型广泛,如测距仪、显示屏、LED阵列、伺服电机、舵机等

Yap终端机与其他传统的物联网设备最大的不同点在于其充分的开放性,设备随机附赠一整套物联网开源解决方案,涵盖了手机APP,PC上位机控制,云平台,本地控制器的全技术链,既可以用于物联网教育的授课教具,也可以作为物联网设备开发的原型机帮您快速构建场景应用。

祝愿您能通过本产品迅速入门物联网,和Luat社区的小伙伴们一起开发出个性化且开放的物理网产品,分享学习物联网技术的的快乐和喜悦。

2 基本使用方法

2.1 按钮功能

  • 电池开关 面板上方的开关是电池连通切换按钮,左侧是断开电池,右侧是连接电池。 如果使用电池供电,或者要对电池进行充电,需要向右侧拨动开关,设置到连通状态。

  • 数字拨号盘 面板中部具有数字拨号盘,可以用来进行数字输入,当输入对应的数字,上方屏幕会显示出来,按钮灯也会相应点亮。

  • 多功能键 一般用于功能确认,在不同的场景下功能不同。 默认为4G Volte 语音接听功能键。

  • 重启孔 需要用大头针插入触动 用于死机时重启,一般不需要使用。

  • 固件烧写孔 需要用大头针插入触动,用于采用USBBoot模式升级固件,一般不需要使用。

2.2 显示屏及指示灯功能

  • 状态指示 面板上方有一个128X32的OLED显示屏幕,用来显示终端的当前状态和接收到的控制指令。

  • 第一行显示CPU占用率和内存占用率。 由于采用的RTOS系统没有任务优先级概念,所以长期100% CPU占用会导致系统底层服务无法正常执行而死机重启,应该避免指令发送过于频繁导致的高CPU占用。 RTOS系统没有虚拟内存概念,内存占用任何时候不能超过100% 否则将导致溢出,发生不可预知的结果,通常为死机或重启。

  • 第二行的CSQ代表网络信号质量,范围是0-31,数值越大代表信号接收强度越大,由于4G编码方式先进,一般10以上基本就可以进行数据通信,15以上可以实现稳定收发。

  • 第二行的NET代表联网状态,Yap终端机具有多链路同时联网的功能,目前支持UPWS、MQTT、阿里云三链路同时连接,当对应的网络接口连通成功后,对应的字模会呈现出来,如果没有连通,则显示“-”

  • 最后一行是控制指令显示行,当终端接收到网络指令后,会显示出指令。由于内存限制,屏幕仅支持英文字符,中文字符以“*”代替

  • 屏幕中央有12个键盘灯,按下对应的数字按键或者远程遥控APP点击了数字按钮则相应的键盘LED会发光,由于终端的数字端口与键盘是复用关系,因此使用扩展口连通外部模块通讯时端口相对应的LED也会相应闪烁。

  • 面板下方有两个指示灯,其中红色的为充电灯,灯亮代表充电中,充电必须首先开机,此灯熄灭代表电池充满。绿色的为开机指示灯,正常开机时此灯点亮。

2.3 接口

  • YAP终端机有两个外部接口,Micro USB接口和12Pin复合总线接口

  • Yap终端机内置一节300mA的聚合物锂离子电池,通过USB接口可以连接充电器对电池进行充电,充满时间约45分钟。 如果将终端连接到电脑的USB接口,则充电同时使电脑映射出USB网卡实现4G简易上网功能。

  • 12Pin复合总线接口是终端的扩展口,支持1.8V UART,SPI 与LCD专用接口,并提供4V电池供电与1.8-3.3V数控电源接口,可以挂载各类传感器和执行器进行功能扩展

3 基本功能

Yap终端机具有两个基本形态,语音终端和物联网通讯终端。 前者用于进行语音接听、呼叫,使用时需要插入普通的实名制电话卡方可使用,后者用于物联网数据传输,可以插入物联网专用数据卡。 下面分别介绍使用方法。

3.1 4G Volte通话及短信

4G Volte是一种采用高质量语音编码的新型语音通讯方式,相对于传统的2G线路方式的语音呼叫信号更清晰,通话质量更高。目前三大运营商均已支持,但部分老用户尚未开通该项业务,致电移动、联通、电信运营商客服号码免费开通。

3.1.1 Volte通话

  • 使用数字拨号盘,可以直接拨打号码,并按下多功能键,即可进行Volte语音呼叫。

  • 外部呼入电话时,扬声器会发出音乐,此时按下多功能键进行接听。

  • 可以通过手机APP,点击APP的数字按键拨打、接听电话。

  • 可以通过手机APP发送AT指令控制电话的呼出与接听,并显示来电号码。

    例子1:
    DIAL,117
    屏幕回显[onedial]DIALING,117
    接通后屏幕回显[onedial]CONNECTED
    HUNGUP
    电话主动挂断并回显[onedial]DISCONNECTED
    例子2:
    外部电话主动呼入
    屏幕显示[onedial]INCOMING CALL,138XXXXXXXXX
    PICKUP
    接听电话
    接通后屏幕回显[onedial]CONNECTED
    HUNGUP
    拒接电话
    电话主动挂断并回显[onedial]DISCONNECTED

3.1.2 短信收发

  • 由于硬件限制,仅靠终端自身无法完成短信息收发,但可以使用手机APP,通过发送AT指令的方式进行短消息收发

    接收短信
    当模块收到短信后控制台显示 [SMS]收到的内容@发送的手机号码
    例子
    SMS,13000000000,这是发送给老米的一条短信,号码被隐去
    发送成功后控制台回显 SMS,13XXXXXXXXX,这是发送给老米的一条短信->DONE

3.2 USB上网功能

  • Yap终端机本身即是一个支持Windows10的免驱USB网卡,通过Micro USB连接线连接终端和电脑,在Windows电脑上会识别出一个Rndis网卡,此时电脑已经具备无线联网功能,如果您不需要此功能,需要在设备管理器里禁用该网卡,避免造成不必要的数据流量费用。

3.3 远程遥控和数据通讯

Yap终端机具有混合数据通讯能力,支持手机、平板电脑、PC、单片机、SOC设备间的互联互通。

3.3.1 Yap跨平台APP

  • Yap终端机默认采用内置的Upws开源服务组件进行设备遥控。 设备端通过UDP协议按ID和MM进行鉴权登记到Upws服务器,App则通过ID和MM通过Websocket接口连接到Upws服务器,这样设备和手机APP就可以进行双向数据通讯了。

  • Yap APP基于H5技术,具有免下载、 运行速度快、无平台依赖等多种优点。 您可以采用微信、支付宝或者任何支持二维码扫描的手机或平板电脑浏览器进行设备控制。

3.3.2 远程遥控功能

  • Yap终端机的背侧下方有一个二维码,扫描该二维码即可以远程遥控操作

  • APP的最上方是设备的ID,相当于设备的身份证号码,是唯一的。 中部的拨号盘可以实现语音呼叫。 下部是命令收发窗口,上方的窗体负责接收设备发来的消息,下方的窗体负责发送消息,可以通过软键盘编辑命令,并点击下方的发送按钮进行命令发送,也可以通过点击发送窗体右侧的下拉按钮选择内置的命令提示信息,然后对提示内容进行编辑再进行发送。

3.3.3 远程数据通讯

  • Yap终端机本身支持串口数据通信。 可以采用三种通讯协议与设备进行字符串格式的透传。 所谓字符串透传是指,从网络接口输入的字符串将传送到设备端,从设备端输入的字符串将传送到网络接口。 网络连接由Yap终端和云服务器自动进行维护。

  • 以Yap终端支持的开源Upws物联网通讯协议为例,您可以通过Websocket协议访问服务器box.miuser.net的9000端口,设备端通过USB接口接入电脑,则会出现虚拟串口设备 LUAT USB Device 1 AT(COMXX) ,使用任意串口调试工具(推荐LLCOM-能跑Lua脚本的串口调试工具)即可完成双向的字符串格式数据透传。 具体代码可以参考开源的Yap APP,基于JavaScript编写,且完全开源。

  • 您可以通过烧写midemo固件,完成MQTT物联网通用协议、阿里云物联网通信平台的联网功能。 Yap终端机支持三网同时在线。

  • 您可以通过midemo固件,将透传端口映射到任意硬件串口,Yap终端机支持多串口透传。

3.4 中文语音朗读

  • Yap终端机支持中文及数字,英文字母的在线朗读功能,使用APP发送指令,设备将远程实时朗读输入的文本,语音清晰洪亮。

    例子 TTSPLUS,您好,亲爱的Luat伙伴们 则设备端立即朗读:“您好,亲爱的Luat伙伴们” 注意朗读内容中的英文逗号要改为全角的中文逗号 朗读完成后,系统会收到TTSPLUS,您好,亲爱的Luat伙伴们->DONE的消息

4 可扩展功能 (需自行选配外部模块)

  • Yap终端机区别于大多数物联网终端的一个特点是外部接口丰富,终端在尾插的12Pin插座上同时支持串口显示屏接口、串行外设接口和1.8VTTL串口三种常用的串行总线标准。 通过连接不同种类的设备,Yap终端机的功能可以进一步的进行拓展。 您甚至可以通过烧写开源的midemo固件,直接在Yap终端机上连接一些极为简单的电路就完成一个实用物联网设备的产品原型,大地缩短了开发周期,降低您的产品开发成本。

  • 下面我简要的介绍一些内置驱动已经支持了的硬件设备,这个开放的驱动库还在不断的成长,未来更多的设备可能会加入其中。欢迎经常关注midemo项目,了解最新的驱动支持情况。

4.1 显示屏接口

  • 终端的串行显示屏专用接口支持多种常用的廉价串口屏,分辨率最大可达320X240,尺寸不限,形状为正方形,长方形,或圆形。 内置中文字库和图形处理库,可以通过用户编码绘制不太复杂的用户界面。

  • 屏幕的必要连接线为6根,分别为DC,RST,DA,CK,VCC,GND,也有7pin的显示接口,增加了一个CS,可以进行屏幕选通控制,8pin的显示接口又增加了一个BL,可以控制背光开关,这两根线通常悬空即可。

  • 终端的核心模,合宙的Air724具有非常高效的图形显示功能,可以绘制比较简单的图形界面,用户界面等。 但考虑到Yap终端机的尽量简单的设计理念,目前内置驱动仅支持了屏幕的文本显示API,您可以通过单一指令,在屏幕上显示一段文字。 更复杂的图形处理需要您通过对开源固件Midemo进行二次开发完成。

4.1.1 驱动方形屏幕的方法

目前终端默认支持的方形屏幕为IL9341驱动的TFT显示屏,分辨率为320X240。 您也可以通过使用开源的midemo获得更广泛的显示驱动支持,如官方的ST7735、ST7789等。 采用屏幕进行控制台输出的方法如下:

    例子
    9341DISPLAY,你好
    屏幕从起始位置显示“你好”
    显示完毕后,控制台回显9341DISPLAY,你好->DONE

4.1.2 驱动圆形屏幕的方法

目前终端默认支持的圆形屏幕为GC9A01驱动的TFT显示屏,直径分辨率为240。 采用屏幕进行控制台输出的方法如下:

    例子
    9A01DISPLAY,你好
    屏幕中间显示“你好”
    显示完毕后,控制台回显9A01DISPLAY,你好->DONE

4.2 SPI接口

  • 终端支持高速的标准串行总线,SPI,频率范围是812.5K-52M,SPI总线的高分辨率,使我们可以驱动大部分的串行设备,目前终端支持的设备还比较少,主要有WS2812显示屏与舵机驱动,未来将逐渐扩充。

4.2.1 驱动8X8 WS2812 LED阵列

  • Yap终端机可以直接 驱动8X8 W2812B全彩显示屏,产生彩色的英文字符的流水灯效果,最新版的1.3底包由于存在相容性问题,可能出现轻微花屏现象,等待日后完善,使用方法如下:

    例子
    2812DISPLAY,HELLO LUAT
    显示完毕后回显2812DISPLAY,HELLO LUAT->DONE

4.2.2 舵机驱动

  • Yap终端机支持5V标准航模舵机,推荐廉价的mg90s以及兼容品,价格仅不到10元,通过发送指令,可以让舵机旋转到0-180度的任意角度。

    例子
    SERVOROLL,90
    执行完毕后回显[mg90s_dynamic]SERVOROLL,90->DONE

4.3 UART接口

  • Yap终端机支持标准的UART接口,波特率为9600-115200bps,默认为9600bps,可以与几乎所有型号的单片机系统通讯,不过要注意Yap终端机的电平为新式的1.8V,可以直接接驱1.8V和2.5V电平的单片机,如果直接驱接3.3V电平的单片机可能存在信号稳定性问题,建议增加电平转换电路再驱动,如果是5V电平的单片机则必须加装电平转换电路才能驱动。

  • 目前UART接口的设备有tof10120激光测距模组,如果需要支持更多的通讯方式,推荐您使用开源的midemo,自行编写其他设备的串口驱动。终端的串口有两个,一个在12pin的复合总线接口,电平为1.8V,另一个在核心板背部,电平为4V,兼容3.3V-5V,但并未焊上接线端子,您可以根据需要自行扩展。

4.3.1 激光测距传感器

  • tof10120激光测距模块是一款可以在淘宝轻易购得的廉价红外激光测距模组,测量范围为1毫米到2米,可以直接连接到终端的通过发送指令测距

    例子
    GETDISTANCE
    控制台回送DISTANCE,xx mm xx为测量出来的厘米值
    控制台回送GETDISTANCE->DONE结束测量

4.3.2 与其他开发板相连(arduino,microbit等)

  • Arduino是一款市场上十分流行的开源单片机开发环境,采用ATMEGA328P作为主控芯片,工作电压为5V,Yao终端机可以通过12pin复合总线接口或背部的独立串口与arduino相连。 要注意的是,如果采用的连接方式是复合总线接口中的串口(COM1),需要另行购置电平转换模块进行1.8V-5V的电平转换,如果采用背部的独立串行总线接口(COM3),则可以直接连接。但该接口未焊接插针,您需要自己手动焊接。

  • Microbit是一款由BBC开发的儿童编程主板,采用积木式编程方式,使用简便,入门轻松。 该主板采用的主芯片是NRF51822,工作电压为3V,Yap终端机可以直接通过12pin复合总线接口或背部的独立串口与arduino相连,无需转换

  • 连接其他开发板时,需要使用开源的midemo固件,您需要配置 midemo.bs文件中的COM_UART_IDs字段,根据您的串口连接情况,COM1或COM3,添加1或者3,完成硬件资源的分配。 然后即可通过控制台进行串口通讯。

5 设备编程控制

5.1 Lua编程控制 (适用于电脑)

  • Yap终端机的固件基于Lua语言编写,用户接口被封装为AT命令控制台方式,通过向Yap终端机发送指令完成相应的操作。 对Yap终端机进行离线编程完成独立的运行逻辑需要使用midemo进行源代码级别的开发,这种编程方式适合已经对Luat编程技术具有一定基础的人。 我们在6.3章节将进行详细的叙述。

  • LLCOM是在合宙生态圈新近流行的一个串口调试工具,与通常的串口调试最大的特点是,他支持Luat在线Lua编程调试,使用非常的便捷。 同时LLCOM支持采用Lua脚本的方式通过USB虚拟串口发送终端控制指令,因此特别适合初学者使用。

  • LLCOM具有标准的串口调试功能,插入USB设备后,可以识别出额外的名为 LUAT USB Device 1 AT(COMXX) 的串口设备,点击打开串口即可收到设备发送的之举信息,然后我们可以在下方的橙色方框标识的命令输入框通过输入指令与yap终端机进行命令行交互。 常用命令可以保存在右侧的快捷发送列表中,便于调试使用。

  • 点击右侧的运行lua脚本,就可以通过luat方式对发送和接收指令进行编程。 当前前提是您需要了解基本的lua语法,这里仅以LLCOM默认的例程进行一下介绍。

    • 注1中的uartReceive为串口接收的回调函数,接收到的数据以字符串的形式保存在变量data中,log.info函数负责将接收的数据打印到控制台显示,sys.publish是一个luat架构独有的消息发送函数,标识向系统消息队列发送一条包含串口接收到的数据的消息

    • 注2中的函数是任务函数的入口点,函数体在while循环中重复执行,apiSendUartData是串口发送指令,执行该指令等同于您从发送窗口发送了一条指令,log.info打印发送结果,发送成功返回true,否则返回false。 sys.wait为任务挂起命令,交出cpu资源并等待5秒钟再执行。

    • 注3中的为新建任务,并打印系统时间,您可以建立多个任务,这些任务会可以通过协作的形式并行执行。

5.2 Html5编程控制 (适用于手机、平板电脑等)

  • Yap终端自带的APP为采用开源方式提供的Html5格式的网页文件,采用非加密纯文本方式存储您可以直接保存在本地,并上传到您的个人主页上,github也提供最新版的app源码供您使用。 APP与终端采用upws开源网络通信协议通讯,网页端底层基于websocket协议,采用JavaScript进行控制。

  • Html5页面和Javascript可以采用开源免费的Visual studio code编辑,使用chrome浏览器调试,您需要首先适当的掌握Javascript语言方可对app改为您自己定制的手机APP

  • 页面对设备的绑定是通过ID和MM,分别为10位数字和16位字母,通过扫描机身背部的二维码或连接本地串口调试工具在自举信息中获取。 参数采用 GET方式传输。例如:

    http://box.miuser.net/page/01a.html?ID=9XXXXXXXXX&MM=00XXXXXXXXXXXXXX

  • 从网络收到的upws数据包经过ProceedRawMessage函数处理为原始命令,保存在content变量中

  • 通过Send_Cmd函数发送命令到终端,upws封包函数通过SendRaw函数完成。

6 深度开发技术

Yap终端机是由Cat1 phone core 开源核心板项目发展而来,是该项目的继承与发展,希望本产品可以加速您的物联网项目开发进程。

6.1 开源组件简介

Yap的核心部分均以开源的形式提供给用户,项目核心包括

  • Cat1 phone core,基于Air724模组,支持电话二次开发,板载sim卡座,4G天线,是目前板载天线的尺寸最小的全功能cat1核心板

    项目地址:https://www.oshwhub.com/miuser/elderphonev2-schdoc
  • midemo,用一组极简单的AT增强指令,简化现有的物联网模块联网方式,并增强现有物联网模块对外设的控制能力

    开源地址:https://gitee.com/miuser00/midemo
  • upws开源物联网服务器,协议简单,功能单一且稳定的一款简易的物联网通信服务端,采用C#编写,代码开源,使用简单方便

    协议地址:http://box.miuser.net/MTJMCN/MTCP.html
    
    项目地址:https://gitee.com/miuser00/upws

6.2 upws开源物联网服务器介绍

upws服务端是一个独立的可执行Win32服务端程序,用于桥接终端APP和物联网硬件。 APP端为Websocet接口的静态html页面,硬件端为基于合宙Luat通讯模块。 模块与服务器通讯使用UDP协议通讯。 基本通讯方式如下: Html5页面通过Webscoket接口发送一个自定义的字符串报文给服务端,服务端根据报文中的ID把报文转发给相同ID的UDP硬件设备(或UDP测试程序)

6.3 midemo开源项目介绍

midemo计划用一组极简单的AT增强指令,简化现有的物联网模块联网方式,并增强现有物联网模块对外设的控制能力。 具体功能如下:

一、内置upws开源网络通讯组件,可以通过手机扫描二维码直接与模块建立通讯,收发指令

二、使用LED(网络占用GPIO4,电源灯占用GPIO5)或 128X32 0.91英寸微型点阵显示屏(可选,使用I2C总线)展示联网状态

三、支持外挂320X240分辨率以下的SPI全彩显示屏和扬声器进行文字信息输出

四、支持指令控制实时外挂各种总线设备,包括传感器,执行器等,兼容SPI、UART两种总线连接方式

五、支持定时指令控制

六、支持多链路连接并自动维护网络持续可用,目前支持三路同时在线,1、upws(默认内置),2、标准MQTT,3、阿里云透传

七、支持远程恢复和固件升级

该项目目前一、二、三、六部分已经基本完成,第四部分完成了一部分设备,未来将继续进行添加。 第五、七部分尚在开发中

6.4 Yap终端机配套资源

为了使您能够快速的开发出自己的物联网产品原型,本项目还附带了一些开源的资源供您使用,包括

  • C# 串口调试助手源码
  • C# UDP网络接口源码
  • C# websocket通讯DEMO源码
  • 核心板加工BOM图纸、3D模型等配套生产研发文件

7 设备性能指标

8 外观、尺寸

9 注意事项

  • Yap终端机为CMOS工艺电路需要可靠的静电保护。产品以防静电袋+纸盒包装出厂,秋冬季节使用前应该双手触摸接地点放电,并避免直接接触无放电回路的悬空的引脚。 通电前仔细检查电路,避免引线错接,特别是电源引线。

  • 本设备为物联网科普教具器材。 目标适用人群为大中专院校在校生,及动手能力强的物联网爱好者。 由于电路板为裸板状态,且内置电池,如果没有相应的技术知识而进行拆解或者改造本产品极易发生危险。 无相应基础知识的人群请勿购买。


发表评论

您的电子邮箱地址不会被公开。