HaaS600物联网开发板学习笔记(三)---使用amp工具远程更新js代码
摘要:在前面的文章中,我们学会了用amp工具推送js代码到HaaS600开发板上,本篇文章讲如何通过amp工具远程推送到设备中。实现这个功能后,如果设备的功能有更新,就不用到现场进行维护了。
实验目的:通过amp命令行工具,远程更新(OTA)代码到HaaS600开发板上
实验硬件:HaaS600开发板
实验软件:win7 x64、amp-win、vscode、串口助理。
目录
1.将物联网卡与设备绑定
如何在阿里云购买物联网卡并激活
2.将物联网卡与设备绑定
3.为自己的设备开通OTA功能
4.为自己的设备设置token
5.使用amp工具远程更新js源代码
1.将物联网卡与设备绑定
HaaS600开发板需要插入gprs网络,我们可以选择手机卡或者物联网卡,这两种卡的共同点是外观相同,不同点是物联网卡资费很便宜,而且只提供联网功能(也有的叠加短信功能)。
物联网卡也需要实名制,还需要与设备绑定才能实现远程更新。
具体操作请参考文章:
如何在阿里云购买物联网卡并激活
2.将物联网卡与设备绑定
物联网卡有一个唯一的标识码(ICCID),设备也有一个唯一的标识码(IMEI)。
ICCID的全称是Integrate circuit card identity (集成电路卡识别码),也就是SIM卡卡号(不是手机号),相当于手机号码的身份证。 ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXX。 前六位运营商代码:中国移动的为:898600;898602 ,中国联通的为:898601、898609,中国电信898603,898606。
我买的物联网卡的ICCID如下图所示
IMEI全称是International Mobile Equipment Identity(国际移动设备识别码)。俗称“手机串号”、“手机串码”、“手机序列号”,用于在GSM移动网络中识别每一部独立的手机,相当于手机(不是手机卡)的身份证号码。IMEI码适用于GSM和WCDMA制式的移动电话和铱星卫星电话,而CDMA手机采用MEID码,与IMEI码有所区别。全球每部通过正规渠道销售的GSM手机均有唯一的IMEI码。IMEI码由GSMA协会统一规划,并授权各地区组织进行分配,在中国由工业和信息化部电信终端测试技术协会(TAF)负责国内手机的入网认证,其他分配机构包括英国BABT、美国CTIA等。
我购买的HaaS600开发板的IMEI在开发板的核心模组EC100Y上,是激光打上去的。
绑定操作通过手机淘宝完成,有实名认证的步骤。完成绑定的手机界面如下图所示。绑定后,这个物联网设备就可以正常工作了。
3.为自己的设备开通OTA功能
OTA(Over-the-Air Technology)字面理解就是“空中下载”技术。是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。
要想实现OTA功能,需要阿里开通这个权限。
根据阿里官方帮助文档,可以通过邮件申请。
https://help.aliyun.com/document_detail/184019.html?spm=a2c4g.11186623.6.657.680d21ffWDxRVl
发送邮件的时候,有固定的格式,关键是设备的唯一标识,也就是IMEI码。阿里云用邮件反馈token。
4.为自己的设备设置token
token是什么?
字面意思是令牌,可以理解为暗号。我理解的token是一种不用发送到后台,在本地就能验证的暗号。
计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。
Definition of token. (Entry 1 of 2) 1a : a piece resembling a coin issued for use (as for fare on a bus) by a particular group on specified terms. b : a piece resembling a coin issued as money by some person or body other than a de jure government. c : a unit of a cryptocurrency Bitcoin tokens.
有了官方授权的token,我们就可以远程访问了,可是在远程访问之前,需要先将这个暗号设置到HaaS600设备内部。
具体操作如下:
连接HaaS600开发板与计算机。
打开串口助理(自行选择,好多种助理都可以),设置波特率为115200.
首先获取当前的token,输入下面的指令串,注意发送带有“新行”
var kv = require('kv');
可以获取当前的token
然后用另一个指令来设置token。设置完成后,这个token就固话在HaaS600内部了。也就是说,它有了自己与阿里云物联网平台通话的“暗号”。
kv.setStorageSync('_amp_device_token', '9da64dd7e367ab8ec5e0c026xxxxxxxx');
5.使用amp工具远程更新js源代码
假设现在HaaS600开发板内部运行的程序是让USER LED1秒钟闪烁一次。我们新的源代码要让LED延长至2秒钟闪烁一次。
理论上来说,此时就不用串口线了,连接串口线到笔记本并不是为了将代码通过数据线传输到设备,而是通过数据线观察HaaS600的信息。
首先用vscode修改源代码,
定时1000毫秒修改为2000毫秒
然后在vscode打开新终端,cd进入amp 命令行工具文件夹amp-win,然后显示联网设备。发现需要登录。
然后使用命令amp login XXXXXX登录,注意XXXXXXX是一串字符串,就是发送邮件进行公测申请反馈的token,也就是“暗号”。
相当于你跟阿里云说“喂喂喂,天王盖地虎”,对方回答“宝塔镇河妖”,自己人,success!
amp login 374bb6d4ef1f*******************
登录成功后,就可以通过命令amp device list显示在线的设备了。注意,HaaS600设备应该一直是上电状态的。提示信息中,设备编号其实就是HaaS600模块上的IMEI串号。
接下来,使用amp工具远程更新js源代码。注意下面的语句,是amp put ,而不是amp serialput app。
而且,远程更新的时候,不用将HaaS600开发板的模式按钮拨动到DL状态。
amp put app 866327**********
此时的串口信息反馈如下图所示:当提示“push app package SUCCESS”后,HaaS600设备自动复位,等待约3秒钟后,新的程序运行起来,搞定。
结论:HaaS600这款开发板采用gprs联网方式,如果用在没有wifi 信号覆盖的场合是非常合适的。它提供的amp命令行方式远程更新也非常方便,可以做项目开发原型机使用。产品定型后,直接购买定制好的EC100Y模块,焊接到自己设计的底板即可,以后也不用考虑程序烧录的问题了。
HaaS600物联网开发板学习笔记(三)---使用amp工具远程更新js代码相关推荐
- HaaS600物联网开发板学习笔记(二)---轻应用方式让LED闪烁起来
摘要:轻应用开发非常方便快捷,gitee上的例程也都是基于HaaS600的,所以,拿HaaS600来逐个测试例程,学习轻应用开发和物联网应用是最合适的.本文介绍一下HaaS600如何使用轻应用来开发. ...
- HaaS600物联网开发板学习笔记(一)---开发板硬件资源
摘要:2020年9月阿里云HaaS100物联网开发板发布,紧接着600开发板也发布了.二者不同之处有很多,最明显的是100是wifi联网,600是gprs联网,也就是"wifi和插卡&quo ...
- 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来
摘要:能让JavaScript应用运行在haas100开发板上,这实在是太酷了,这种方式被阿里云称之为"轻应用".本文带各位从零开始,先了解啥是轻应用,然后搭建环境,再一步步将一个 ...
- 阿里云HaaS100物联网开发板学习笔记(六)做个智能灯---一个完整的开发例子
摘要:本篇文章将前期几个专题综合起来,基于阿里云HaaS100的新固件设计制作一个智能灯.这个智能灯由云平台.手机APP端和设备端组成,基本上涵盖了一个物联网小项目所需的主要步骤. 目录 1.在阿里云 ...
- 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台
摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...
- 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来
摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...
- 阿里云HaaS100物联网开发板学习笔记(一)硬件资源介绍
摘要:本文基于阿里云官方帮助文档编写,目的是为了让大家深入了解HaaS开发板硬件资源. 目录 1.硬件简介 2.需要特别说明的几个硬件资源 2.1按键 2.2 TF卡插槽 2.3 指示灯 2.4 以太 ...
- “物联网开发实战”学习笔记-(二)手机控制智能电灯
"物联网开发实战"学习笔记-(二)手机控制智能电灯 如果搭建好硬件平台后,这一次我们的任务主要是调试好智能电灯,并且连接到腾讯云的物联网平台. 腾讯云物联网平台 腾讯物联网平台的优 ...
- 涂鸦LZ201-CN开发板学习笔记(一)
涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...
最新文章
- 用NVIDIA NsightcComputeRoofline分析加速高性能HPC的应用
- BeautfuiSoup4解析器
- 电脑屏幕倒过来该怎么办?
- XAF Study Recources
- redisTemplate批量写入数据
- 阿里巴巴《rocketmq开发指南》_如何看待阿里巴巴孤尽觉得Java是世界上最好的语言?...
- Lesson 04 for Plotting in R for Biologists
- java import的作用_Java技术_Java千百问(0030)_package和import作用是什么
- 俄罗斯地名 中文 英文 俄文
- lwj_C#_周总结2 字符串练习
- html重复渐变包括,CSS3怎么实现重复线性渐变效果
- Android之TabActivity的使用
- 吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 四)
- 下载 线代 薛威_考研线代李永乐真的首选吗?
- mysql 索引(2)(索引失效的问题及解决)
- 前端编程中,如何消除浏览器缓存
- mbedtls 入门第四课--移植mbedtls到VS和ESP8266--8266SDK SHA256移植
- pf与ckf_基于CKF-PF算法在高速动车组定位中的应用研究
- xp开起无线服务器,XP系统笔记本设置成wifi热点(无需软件,绝对成功)
- 客户文章|南方医科大学李克玄团队破解肠道宏病毒与心肌病关系
热门文章
- css3切角文本框_[CSS揭秘]切角效果
- java《面向对象综合题》
- 【TensorFlow基础函数】tf.concat的用法
- [SAM模板题] P3975 [TJOI2015] 弦论
- 优化计算机 教学设计,信息技术优化教学设计
- 自动柜员机是不是微型计算机,微型计算机基础知识.pptx
- linux 内核printk 打印信息查询方法
- 360悬浮加速小火箭,内存清理,加速缓存
- 解决Windows环境下PHP连接MySQL很慢的问题
- 使用八爪鱼采集器抓取上市公司财报,一次1万条