当前位置: 首页 > news >正文

重庆做网站制作的公司/常见的网络推广方法有哪些

重庆做网站制作的公司,常见的网络推广方法有哪些,商务网站建设与规划,企业公司做网站ESP使用巴法云远程OTA(Platform) 什么是OTA: OTA(Over-the-AirTechnology)即空中下载技术,是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。OTA升级是物联网(IOT&am…

ESP使用巴法云远程OTA(Platform)


什么是OTA:

  • OTA(Over-the-AirTechnology)即空中下载技术,是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。OTA升级是物联网(IOT)产品设计的一个非常重要的部分,能够实现智能设备系统漏洞修复、系统升级,通过固件和软件的升级,提供更好的服务。OTA固件升级功能不仅能够更新固件,而且还能重新配置芯片上硬件资源。同时,设备固件可通过OTA固件升级流程获得更新的补丁和更多安全算法防范病毒攻击。

  • ESP32集成了2.4GHzWi-Fi和蓝牙双模,以其超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,满足不同的功耗需求,适用于各种物联网应用场景,受到低成本系统和制造商的欢迎。

  • 此外,使用ESP32 OTA还可以实现远程控制,即通过网络来远程控制设备。例如,我们可以通过网络将新的固件发送到设备,实现设备的远程升级。

  • 总之,使用OTA可以提高设备的维护效率,方便我们进行远程控制和升级。因此,ESP32支持OTA升级是非常有用的功能。

实验环境:

硬件:ESP32
软件:VScode 下 Platform io
平台: 巴法云

步骤

  1. VScode 下 Platform io 创建工程
  2. 编译一个准备用作OTA之后的测试用例
  3. 编写支持OTA功能的代码,并使用数据线完成第一次下载
  4. 在巴法云平台上传测试固件bin文件
  5. 测试OTA功能

实操:

  1. 创建工程

alt text)

  1. 添加串口波特率:115200

alt text

  1. 编写代码测试用例
    实际上测试用例和基础OTA代码是一样的,只是用了不同的宏定义区分一下模块功能
//基础OTA就取消LED的宏定义,定义LED是用来测试OTA升级之后的程序,#include <Arduino.h>
#include <WiFi.h>
#include <httpUpdate.h>#define LED#ifdef LED
#define led_pin 2
#define LED_INIT                   \do                               \{                                \Serial.println("LED灯初始化"); \pinMode(led_pin, OUTPUT);      \} while (0)
#define LED_ON                   \do                             \{                              \Serial.println("LED on");    \digitalWrite(led_pin, HIGH); \} while (0)
#define LED_OFF                 \do                            \{                             \Serial.println("LED off");  \digitalWrite(led_pin, LOW); \} while (0)
#endif/******需要修改的地方****************/#define wifi_name "TP-LINK_FB01"  // WIFI名称,区分大小写,不要写错
#define wifi_password "zl&231231" // WIFI密码
// 固件链接,在巴法云控制台复制、粘贴到这里即可
String upUrl = "http://bin.bemfa.com/b/3BcZjQ1ZmM3M2EwNjYyY2VhNTIzZmM4YTVkZjUwMTkwYzY=light002.bin";
/**********************************/
void updateBin();
/*** 主函数*/
void setup()
{Serial.begin(115200);                 // 波特率115200WiFi.begin(wifi_name, wifi_password); // 连接wifiwhile (WiFi.status() != WL_CONNECTED){ // 等待连接wifidelay(500);Serial.print(".");}Serial.println("");Serial.print("IP address: ");Serial.println(WiFi.localIP());
#if defined(LED)Serial.println("LED灯测试");LED_INIT
#elseSerial.println("3s后开始升级");delay(3000);updateBin(); // 开始升级
#endif;Serial.println("setup end");
}/*** 循环函数*/
void loop()
{
#ifdef LEDSerial.println("Testing LED...");LED_ON;delay(1000);LED_OFF;delay(1000);#endif
}// 当升级开始时,打印日志
void update_started()
{Serial.println("CALLBACK:  HTTP update process started");
}// 当升级结束时,打印日志
void update_finished()
{Serial.println("CALLBACK:  HTTP update process finished");
}// 当升级中,打印日志
void update_progress(int cur, int total)
{Serial.printf("CALLBACK:  HTTP update process at %d of %d bytes...\n", cur, total);
}// 当升级失败时,打印日志
void update_error(int err)
{Serial.printf("CALLBACK:  HTTP update fatal error code %d\n", err);
}/*** 固件升级函数* 在需要升级的地方,加上这个函数即可,例如setup中加的updateBin();* 原理:通过http请求获取远程固件,实现升级*/
void updateBin()
{Serial.println("start update");WiFiClient UpdateClient;httpUpdate.onStart(update_started);     // 当升级开始时httpUpdate.onEnd(update_finished);      // 当升级结束时httpUpdate.onProgress(update_progress); // 当升级中httpUpdate.onError(update_error);       // 当升级失败时t_httpUpdate_return ret = httpUpdate.update(UpdateClient, upUrl);switch (ret){case HTTP_UPDATE_FAILED: // 当升级失败Serial.println("[update] Update failed.");break;case HTTP_UPDATE_NO_UPDATES: // 当无升级Serial.println("[update] Update no Update.");break;case HTTP_UPDATE_OK: // 当升级成功Serial.println("[update] Update ok.");break;}
}
  1. 先编译一次测试用例(又LED的宏定义部分),然后把编译后的.bin文件传到巴法云平台上

alt text

编译好的固件在工程目录\.pio\build\esp32dev下,名字是firmware.bin

  1. 将复制的链接贴回去测试代码中:

alt text

  1. 编辑基础OTA代码(无LED宏定义),并使用数据线下载到esp32上。观察串口数据信息,等待完成OTA后,看到测试用例的固件被加载到esp32中,说明OTA升级完成。

注意 :如果想要每次OTA完成之后,可以继续下一次的OTA,需要保证每次OTA的新程序里都保留着支持远程OTA的模块。

http://www.lryc.cn/news/580633.html

相关文章:

  • 企业邮箱怎么注册的/百度关键词seo排名
  • 企业网站主页设计模板/如何优化搜索引擎
  • 中和华丰建设有限责任公司网站/教育机构排名
  • wordpress手游/seo公司推广
  • 网站设计师岗位职责/宁德市教育局官网
  • 重庆智能网站建设价格/危机公关处理
  • 手机制作表格/seo推广是什么
  • 佛山市seo广告优化工具/搜索引擎优化关键词
  • 虚拟网站php专业型/百度seo收费
  • 江苏省建设工程考试网站/小吃培训去哪里学最好
  • dw做的网站如何使用/网站推广怎样做
  • 网站设计班培训/seo课程培训中心
  • 网站建设合同 域名/今日最新消息新闻报道
  • 重庆智能网站建设企业/网络营销的表现形式有哪些
  • 在xampp下搭建本地网站/免费软文发布平台有哪些
  • 网页升级未成年人自觉离开/北京网站优化多少钱
  • 大同市发改委门户网站医院建设/网页版百度
  • 企业建站免费代码/最有效的app推广方式有哪些
  • 手机微信网站建设/域名注册哪个平台比较好
  • 哪些网站做黑名单/国家反诈中心app下载
  • 十大永久免费网络游戏/青岛设计优化公司
  • 广西汽车网网站建设/色盲测试图第六版及答案大全
  • 学院网站建设管理办法/站长工具端口
  • 网站建设与维护 唐清安/上海谷歌优化
  • 科技小论文怎么写/公司seo排名优化
  • 长沙网站推广 下拉通推广/千万不要做手游推广员
  • flashfxp如何发布网站/做外贸有哪些网站平台
  • 做网站有什么好的推荐/网络营销技巧和营销方法
  • 如何制作手机版网站/seo入门讲解
  • 颜色搭配对网站重要性/网站热度查询