网站开发制作报价单网站 多少篇文章才能上线
网站开发制作报价单,网站 多少篇文章才能上线,教育机构招聘网站建设,宝洁网站建设1、认识一下小小蛮驴真面目
1.1、组件部分
HaaS100核心板 HaaS100是一款物联网场景中的标准硬件#xff0c;并配套嵌入到硬件中的软件驱动及功能模块#xff0c;为用户提供物联网设备高效开发服务。
HaaS100核心板有着丰富的外设接口#xff0c;如下所示#xff1a;
智…1、认识一下小小蛮驴真面目
1.1、组件部分
HaaS100核心板 HaaS100是一款物联网场景中的标准硬件并配套嵌入到硬件中的软件驱动及功能模块为用户提供物联网设备高效开发服务。
HaaS100核心板有着丰富的外设接口如下所示
智能车底板电路
红外接收头子实现红外遥控小车5V电源稳压芯片电机驱动芯片电流可达2A为小车提供强大的动力电源指示灯保护二极管
其他丰富接口
电机接口超声波模块接口舵机模块接口测速模块接口红外避障模块接口电池座接口HaaS连接接口
1.2、重要模块介绍 1.2.1、驱动电机 驱动电机芯片是小车最重要的模块之一2A的强大输出电流为小车提供满满的动力。 驱动模块的接口定义 其中IN1和IN2是控制小车的左电机IN3和IN4是控制小车的右电机ENA和ENB引脚为输出使能管脚高电平有效IN1、IN2、IN3和IN4可以通过PWM脉冲调速。
电机控制 IN1高电平IN2低电平左电机正传 IN1低电平IN2高电平左电机反传 IN3高电平IN4低电平右电机正传 IN3低电平IN4高电平右电机反传。
1.2.2、超声波测距模块
超声波测距一般有4个管脚 GND接公共地 VCC供5V电源 Trigger触发控制信号输入引脚 Echo回响信号输出引脚 超声波测距原理是当发送的超声波遇到物体被发射回来被接收端接收然后通过发送信号到接收到回响的信号时间间隔可以测算出距离。
测距过程如下HaaS100给Trigger引脚至少10uS的脉冲触发信号这时候超声波模块发射8个40KHz的方波然后模块自动检测是否有信号返回。若检测到回响信号会通过Echo引脚输出一个高电平脉冲脉冲的宽度就是超声波从发射到返回的时间t。假设小车距离障碍物距离L2LvtLvt/2其中v声音的传播速度340m/s。
1.2.3、红外避障模块
红外避障原理就是当障碍物靠近的时候红外接收到的发射光强度越来越大所以增大了输出的模拟信号模拟信号接入比较器经过比较器处理输出数字信号。读取数字信号电平就可以判断前方是否有障碍物。
1.2.4、测速模块
测速模块主要原理是由码盘结合光电传感器传感器一端为发射光另一端接收光通过测量单位时间内脉冲个数得出小车的速度本模块采用施密特触发器输出的信号非常稳定( 去抖)。
2、云端小小蛮驴产品创建
参考基于《一步步打造能手机远程管理的HaaS花卉养植系统》系列文章一步步在物联网平台创建产品、对应的物模型以及设备。也可以通过载入TSL文件一键生成物模型。
2.1、云端产品创建展示 创建了HaaS电动车的产品名称然后定义了前进、后退、暂停、左转、右转等物模型属性。 按照一步步操作云端创建产品、物模型以及设备以后我们可以获取对应的四元组信息。
3、HaaS电动小车软件开发
3.1、配置初始化 HaaS100设备端电动小车参考代码的路径在/application/example/auto_demo下。 从物联网云平台创建的产品时候可以获取调试设备的四元组信息。如下所示
//四元组信息初始化#define PRODUCT_KEY *******#define PRODUCT_SECRET *******#define DEVICE_NAME *******#define DEVICE_SECRET *******对驱动电机芯片控制引脚配置
int auto_gpio_init(void)
{
temp_gpio.port IN1_PIN;temp_gpio.config OUTPUT_OPEN_DRAIN_PULL_UP;hal_gpio_init(temp_gpio);temp_gpio.port IN2_PIN;temp_gpio.config OUTPUT_OPEN_DRAIN_PULL_UP;hal_gpio_init(temp_gpio);temp_gpio.port IN3_PIN;temp_gpio.config OUTPUT_OPEN_DRAIN_PULL_UP;hal_gpio_init(temp_gpio);temp_gpio.port IN4_PIN;temp_gpio.config OUTPUT_OPEN_DRAIN_PULL_UP;hal_gpio_init(temp_gpio);temp_gpio.port ENA_PIN;temp_gpio.config OUTPUT_OPEN_DRAIN_PULL_UP;hal_gpio_init(temp_gpio);temp_gpio.port ENB_PIN;temp_gpio.config OUTPUT_OPEN_DRAIN_PULL_UP;hal_gpio_init(temp_gpio);GPIO_Set(ENA_PORT,1); //使能驱动电机左GPIO_Set(ENB_PORT,1);//使能驱动电机右stop_ctl();
}3.2、接收云端控制命令 接受处理云端的控制命令包括后退、左转、右转、停止、前进等。
char *auto_temp[5]{back,left,right,stop,front};
static int user_property_set_event_handler(const int devid, const char *request, const int request_len)
{
int res 0;char i 0,*auto_c;cJSON *root cJSON_Parse(request)for(i0;i5;i){auto_c auto_temp[i];cJSON *value cJSON_GetObjectItem(root,auto_c);if (value NULL || !cJSON_IsNumber(value)) {EXAMPLE_TRACE(not find %d,i); }else{goto hass_send;}}cJSON_Delete(root);if(i 5){EXAMPLE_TRACE(not find %d,i); return -1;}
hass_send:
switch(i){case 0:back_ctl();EXAMPLE_TRACE(---back);break;case 1:left_ctl();EXAMPLE_TRACE(---left);break;case 2:right_ctl();EXAMPLE_TRACE(---right);break;case 3:stop_ctl();EXAMPLE_TRACE(---stop);break;case 4:front_ctl();EXAMPLE_TRACE(---front);break;default:break;}res IOT_Linkkit_Report(EXAMPLE_MASTER_DEVID, ITM_MSG_POST_PROPERTY,(unsigned char *)request, request_len);return 0;
}
3.3、HaaS电动车小程序开发 3.3.1、云端钉一体小程序SDK获取
git clone -b dev_3.1.0_haas https://github.com/alibaba/AliOS-Things.gitSDK相关代码及操作readme在application/miniapp/目录下。
3.3.2、SDK目录结构
/
├─ lib (存放依赖库的文件夹用户无需关心)
│ ├─ alicloud/pop-core https://github.com/aliyun/openapi-core-nodejs-sdk
│ ├─ kitx
│ └─ iot-packet.js 封装给用户的文件
├─ pages 页面文件夹用户在这里自定义页面示例持续更新中
│ └─ index 首页 选择进入不同示例
│ ├─ index.axml
│ ├─ index.js
│ ├─ index.acss
│ └─ index.json
│ └─ HaasCar 示例1 HaaS小小蛮驴
│ ├─ HaasCar.axml 页面布局文件
│ ├─ HaasCar.js 控制逻辑用户在这里定义交互行为
│ ├─ HaasCar.acss 页面样式
│ ├─ HaasCar.json 页面配置用于配置页面标题等
│ └─ HaasCar.TSL.json 示例对应的TSL文件用户可以在物联网平台上导入该文件生成物模型
│ └─ HaasFlower 示例2 HaaS养花目录结构同 HaasCar
├─ app.js 注册小程序在这里进行全局参数配置如 AccessKey
├─ app.acss 小程序全局样式
├─ app.json 小程序全局配置可以在这里设置小程序打开的默认页面
└─ others
3.3.3、SDK使用 使用小程序开发工具打开miniapp这个工程。 step1 在app.js填写AccessKeyID 以及 AccessKeySecret 获取云端API调用权限 step2 填写目标设备 DeviceName 以及 ProductKey这里是待控制的设备
// app.js
let accessKey {
accessKeyId: - accessKeyId -, // 填入阿里云平台生成的 assessKeyId 以及 Secret
accessKeySecret: - accessKeySecret -,
}
// HaasCar.js
let device {
DeviceName: - DeviceName -, // 填入目标设备 DeviceName 以及 ProductKey
ProductKey: - ProductKey -
}
代码中提到的几个关键参数
AccessKeyID AccessKeySecret
云账号AccessKey是用户访问阿里云API的密钥。https://usercenter.console.aliyun.com/#/manage/ak 安全起见我们可以采取创建RAM子账号的形式来对权限进行分离
创建完成后需要手动分配权限点击右侧添加权限。我这里直接选择了 AdministratorAccess。 添加完成后如下。
DeviceName ProducKey
这两个参数在创建设备时生成。
3.3.4、编译验证 点击小程序IDE右上角“真机调试”按钮等待二维码生成后使用钉钉APP扫码即可发起小程序。 3.4、效果展示 4、开发者技术支持
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88816.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!