侵权投诉

机智云追踪外卖骑手保温箱硬件开发和项目演示

机智云开发者 2021-09-18 11:03 次阅读

01 本章实现功能介绍

追踪外卖骑手的保温箱的GPS定位信息以及外卖箱是否被人打开,以防止骑手在送餐时电动车被盗窃或者外卖箱被人打开偷窃外卖餐品,并实时监控外卖箱内的温湿度数据,并将它们上传至机智云,然后我们就可以在远程通过手机App或者Web网页端来访问相关的定位数据、外卖箱温湿度环境数据、以及外卖箱是否被打开。

03 材料清单名称推荐购买源资料下载

温湿度传感器模块、NEO6M GPS模块、自锁开关淘宝搜索”ShineBlink“店铺有售,或者任意其他店铺(功能相似即可)shineblink.com

黑色底板该底板只是为了省掉接杜邦线,让外观好看一些,不是必需品,开发者如果没有可以用杜邦线来替代。如果仍想获取该底板,有如下两种方式:(1)通过右边提供的PCB工程资料自己打样PCB制作即可(2)通过联系微信号“shine_blink”免费获取空板PCB自己焊接也可(如果还有的话)底板PCB工程下载地址

04 硬件端完整源代码

--使能USB print输出打印

LIB_UsbConfig(“CDC”)

--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PS

PK = “76841a997f134f06ab97698a12104e02”

PS = “26ab8338463a4786838e43dc0043cf74”

--初始化4G模块

LIB_Giz4GConfig(PK,PS,1000,120,“UART0”,“D5”,“HIGH”,“D6”,“HIGH”)

--设置D0口为上拉输入,用来监测外卖箱是否被打开

LIB_GpioInputConfig(“D0”,“PULLUP”)

--设置sht3x传感器占用SCL0和SDA0引脚,并启动传感器以每秒出10个数据的频率工作,repeatability=“HIGH”时精度最高

LIB_Sht3xConfig(“IIC0”,“10”,“HIGH”)

--配置NEO-6M GPS模块开始工作,占用TX1和RX1引脚,默认每秒钟自动输出一组GPS数据

LIB_NEO6MConfig(“UART1”)

--开始大循环

while(GC(1) == true)

do

LIB_DelayMs(1000)

--每隔一秒向云发送外卖保温箱是否被打开的状态

--这里看似一直再向云发送数据,其实只有发生变化时才会实际发送

LIB_SendToGizCloud(“In1”, LIB_GpioRead(“D0”))

--查询是否读到温湿度数据

sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()

if sht3x_flag == 1 then

--打印读到的温湿度值,保留1位小数

print(string.format(“temp: %.1f

humi: %.1f”, sht3x_temp, sht3x_humi))

--向机智云服务器发送(温湿度)(带一位小数)

LIB_SendToGizCloud(“Rf1”, sht3x_temp)

LIB_SendToGizCloud(“Rf2”, sht3x_humi)

end

--查询是否解析到GPS数据,注意GPS首次定位出数据的时间较长,大概有1分钟左右

flag,lo,la,al,utc = LIB_NEO6MGetGpsData()

if flag == 1 then

--将读取到的经度、纬度、海拔、UTC时间打印输出

print(string.format(“longtitue:%f latitue:%f altitue:%.0fm UTC:%d”, lo,la,al,utc))

--将从GPS获取的时间设置为开发板自身的系统时间

LIB_SetUtcTime(utc);

--向机智云服务器发送(经纬度)(带两位小数)

LIB_SendToGizCloud(“Rf3”, lo)

LIB_SendToGizCloud(“Rf4”, la)

--向机智云服务器发送(海拔高度,单位:米)(短型整数)

LIB_SendToGizCloud(“Rs1”, math.floor(al))

end

end

上面代码中出现的“LIB_”开头的库函数的详细介绍可以在shineblink.com网站上的API文档中查询。

05 机智云接入和App开发(三个选择)

选择一:机智云+通用版App访问设备(难度最低)

通过《骑手保温箱追踪及温湿度监测(4G版):(上)4G设备接入机智云教程》我们可以很快掌握机智云的接入流程,并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板。缺点就是通用版App的UI页面看起来不够专业。

本例中我们使用了“Rf1”,“Rf2”,“Rf3”,“Rf4”,“Rs1”这五个数据点分别作为温度,湿度,经度,纬度,海拔高度这五个值的上传数据通道,记得在机智云平台修改相应的数据点的名称。

选择二:机智云+零代码定制版App访问设备(难度较低)

在选择二之前,必须完成上面选择一的工作,然后参考《赛博坦零代码App开发(4G版)》教程实现定制版App访问设备。开发好以后的页面如下:

选择三:定制化开发App或微信小程序(难度较高)

如果有一定开发能力,开发者可以考虑在机智云免费提供的开源代码上做一定的定制开发形成自己的App。

如果开发者希望开发一个专属的App,机智云也会提供代码开源的安卓和IOS SDK框架,帮助开发者快速完成App开发,开发者仅需关注App的UI和UE设计即可,而相对复杂的协议与错误处理等事项可忽略。关于开源SDK的介绍和获取请登录docs.gizwits.com 了解

责任编辑:haq

原文标题:骑手保温箱追踪及温湿度监测(4G版)(下):硬件开发和项目演示(视频版)

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

MOS做电源开关的实用电路,NMOS低端驱动与PMOS高端驱动,泄放电阻的作用,及选型参数分析

随着对器件的控制需求提升,越来越多的电源开关电路出现在设计中。这些设计的目的各有不同:有的需要快速开....
发表于 10-21 15:06 2次 阅读
MOS做电源开关的实用电路,NMOS低端驱动与PMOS高端驱动,泄放电阻的作用,及选型参数分析

开关电源中,为什么不是频率越高越好?

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试6.程序设计7.....
发表于 10-21 15:06 4次 阅读
开关电源中,为什么不是频率越高越好?

C语言堆栈程序内存的分配

    程序内存的分配       一个由C/C++编译的程序占用的内存分为以下几个部分: 栈区(s....
的头像 嵌入式ARM 发表于 10-21 14:51 63次 阅读

论MOS管开关对电源的影响

1. 前言MOS管做为开关是一种常用的方式,在电路中比较常用的是一个三极管加一个MOS管,或者一个N....
发表于 10-21 14:36 6次 阅读
论MOS管开关对电源的影响

如何实现孵化箱的远程远程实时监控

本案例为机智云开发者冯俊波发表于机智云社区(ID:冯俊波),依托机智云开发平台,ESP8266作为S....
的头像 机智云开发者 发表于 10-21 14:12 100次 阅读
如何实现孵化箱的远程远程实时监控

ML规模复杂的相关基础架构

  Waze 是世界上最大的基于社区的交通和导航应用。该应用借助实时数据来帮助用户避开路上的障碍,享....
的头像 TensorFlow 发表于 10-21 14:07 94次 阅读

从存储器哪一个位置开始读取代码呢

代码是从哪里开始运行的? 从存储器哪一个位置开始读取代码呢?...
发表于 10-21 09:11 0次 阅读

串口通信的相关代码学习

怎样去编写一种简单的串口通信代码呢? 什么是SBUF? ...
发表于 10-21 09:10 0次 阅读

如何对STM32H747 / STM32H745进行测试

STM32H747/757系列产品有哪些性能? 如何对STM32H747 / STM32H745进行测试? ...
发表于 10-21 08:24 0次 阅读

怎样用最新版的MDK530去编译原来的代码呢

怎样用最新版的MDK530去编译原来的代码呢? MDK530编译为什么会出现ARM版本不符的问题? ...
发表于 10-21 07:26 0次 阅读

探究IntelliJ IDEA 中JAVA代码的任务标记

【任务标记是以注释的方式定义】 一、作用:1、可以大大的提高开发效率。代码量非常大的项目,在某一行中....
的头像 Android编程精选 发表于 10-20 17:10 211次 阅读
探究IntelliJ IDEA 中JAVA代码的任务标记

实力吸睛 中海达成强磁场

10月14日,2021中国地理信息产业大会在武汉隆重开幕,中海达携最新技术成果及行业解决方案集中亮相....
的头像 中海达讯 发表于 10-20 16:52 214次 阅读

详细介绍go语言中的闭包的实现

什么是闭包? 什么场景下会用闭包 ? 本文对 go 语言中的闭包做了详细介绍。 闭包是由函数及其相关....
的头像 马哥Linux运维 发表于 10-20 16:18 208次 阅读

简述Python加速运行小窍门

Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足。但是,....
的头像 Linux爱好者 发表于 10-20 15:28 459次 阅读

Python协程与JavaScript协程的对比及经验技巧

前言以前没怎么接触前端,对 JavaScript 的异步操作不了解,现在有了点了解。一查发现 Pyt....
的头像 马哥Linux运维 发表于 10-20 14:30 142次 阅读

设置I帧的QP的示例代码

  介绍 在有些应用中,发现I帧不够大。MPSoC VCU CtrlSW可以设置每一帧的QP大小。因....
的头像 FPGA开发圈 发表于 10-20 11:35 221次 阅读

IAP编程page0返回失败的问题总结

最近在支持客户的时候遇到这样一个问题:客户在做自己的二级boot loader,并且在使用LPC54....
的头像 恩智浦MCU加油站 发表于 10-20 10:59 174次 阅读
IAP编程page0返回失败的问题总结

pyBGAPI蓝牙代码库的软件结构

新的Python代码库-pyBGAPI可帮助开发人员通过Silicon Labs(亦称“芯科科技”)....
的头像 SiliconLabs 发表于 10-20 09:57 138次 阅读

无接口驱动程序基于ATEasy代码功能

作为一款新型的自动化测试软件,ATEasy 驱动程序为 ATEasy 应用程序提供了一种与设备或仪器....
的头像 广州虹科电子科技有限公司 发表于 10-20 09:29 111次 阅读

怎样去操作基于STM32F407 HAL库的Flash编程呢

怎样去操作基于STM32F407 HAL库的Flash编程呢? flash的写入操作是怎样的? ...
发表于 10-20 06:05 0次 阅读

如何去实现一种基于51最小系统的跑马灯设计

如何去实现一种基于51最小系统的跑马灯设计?...
发表于 10-20 06:01 0次 阅读

深入探讨 Hilt的工作原理

所涉主题      多种 Hilt 注解协同工作并生成代码的方式。 当 Hilt 配合 Gradle....
的头像 谷歌开发者 发表于 10-19 15:11 165次 阅读
深入探讨 Hilt的工作原理

【免费领取】运放十大经典电路(视频21集)

运放十大经典电路(视频21集) 本项目使用单个运算放大器搭建出各种经典电路,其中包括电压跟随器,同相放大电路,反相放大电路...
发表于 10-19 14:01 165次 阅读
【免费领取】运放十大经典电路(视频21集)

如何做到灵活切换内部外部Codec上的麦克风

如何做到灵活切换内部外部Codec上的麦克风?怎样去设计呢?...
发表于 10-19 09:59 0次 阅读

教你怎样去搜索淘宝API app店

教你怎样去搜索淘宝API app店?
发表于 10-19 09:01 0次 阅读

在C函数中的传递参数过程是怎样实现的

在C函数中的传递参数过程是怎样实现的?求解...
发表于 10-19 06:25 0次 阅读

鱼塘控制系统总体设计

本设计由开发者针对传统鱼塘的养殖和管理现状,面向中小型鱼塘养殖户设计开发了一套鱼塘智能控制系统,满足....
的头像 机智云开发者 发表于 10-15 10:28 139次 阅读
鱼塘控制系统总体设计

英特尔表示第二代独显将在明年面世,但并没有挖矿限制

电子发烧友网报道(文/周凯扬)英特尔进军独立显卡已经不是什么新鲜事了,首发的Iris Xe MAX(....
的头像 电子发烧友网 发表于 10-15 10:23 356次 阅读

PCB的设计、打板和焊接

最近MicroPython在嵌入式系统领域受到大家的喜爱,攻城狮们都纷纷研究起来,就连我们Funpa....
的头像 电子森林 发表于 10-15 10:04 212次 阅读

手提继电保护测试仪的特点及优势介绍

在全体技术人员的共同努力下,全新手提继电保护测试仪V2.5版本测试完成,这次升级的最大亮点是把行业的....
的头像 电力预防性试验技术 发表于 10-14 11:51 119次 阅读

能快速找到代码运行最慢部分的编程神器

天下武功,唯快不破。 编程也不例外,你的代码跑的快,你能快速找出代码慢的原因,你的码功就高。 今天分....
的头像 Linux爱好者 发表于 10-13 16:40 137次 阅读

动态内存分配的注意事项及本质是什么

C语言中比较重要的就是指针,它可以用来链表操作,谈到链表,很多时候为此分配内存采用动态分配而不是静态....
的头像 C语言编程学习基地 发表于 10-13 15:37 266次 阅读
动态内存分配的注意事项及本质是什么

基于STC12C5A60S2单片机的M型智能车位锁

随着社会经济的发展及人民生活水平的提高,汽车的保有量逐年增加,“车位少,停车难”的问题日益突显。经常....
的头像 机智云开发者 发表于 10-13 11:43 2321次 阅读
基于STC12C5A60S2单片机的M型智能车位锁

用Python实现3D地图教程

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题....
的头像 马哥Linux运维 发表于 10-13 10:09 193次 阅读
用Python实现3D地图教程

关于Python对交通路口的红绿灯进行颜色检测

转自 |   Python联盟 1.视频读取 首先把视频读取进来,因为我测试的视频是4k的所以我用r....
的头像 新机器视觉 发表于 10-13 09:32 262次 阅读
关于Python对交通路口的红绿灯进行颜色检测

spring中声明式事务实现原理猜想

  @Transactional注解简介 @Transactional 是spring中声明式事务管....
的头像 Android编程精选 发表于 10-13 09:20 213次 阅读

xv6的文件系统是如何实现的

文件系统 本文继续来看 的文件系统部分, 将文件系统的设计分为 7 层: ,磁盘、缓存区、日志三个部....
的头像 Linux阅码场 发表于 10-12 18:00 158次 阅读
 xv6的文件系统是如何实现的

Linux中匿名页的访问分析

Linux 中 有后备文件支持的页称为文件页,如属于进程的代码段、数据段的页,内存回收的时候这些页面....
的头像 Linux阅码场 发表于 10-12 17:52 176次 阅读

处理器中异常和中断解决

异常是能够引起程序流偏离正常流程的事件,当异常发生时,正在执行的程序就会被挂起,处理器转而执行一块与....
的头像 单片机匠人 发表于 10-12 17:14 295次 阅读

RUST的真实驱动案例

我们无法确定RUST在内核的最终趋势,有多少人愿意迁移,但是至少Linus愿意试水。 Wedson ....
的头像 Linux阅码场 发表于 10-12 15:59 112次 阅读
RUST的真实驱动案例

那些有着巨大影响力的代码盘点

2009 年,Facebook 推出了一份改变世界的代码——点「赞」按钮。「赞」是包括 Leah P....
的头像 strongerHuang 发表于 10-12 15:46 198次 阅读
那些有着巨大影响力的代码盘点

那些书本上都没有提到的C语言volatile用法

许多程序员都无法正确理解C语言关键字volatile,这并不奇怪。因为大多数C语言书籍通常都是一两句....
的头像 STM32嵌入式开发 发表于 10-12 14:47 1084次 阅读
那些书本上都没有提到的C语言volatile用法

什么是MicroPython 它能做什么有什么局限

随着Python成为主流的编程语言,MicroPython在嵌入式系统领域也越来越热门起来,尤其是大....
的头像 电子森林 发表于 10-12 11:44 255次 阅读

PO VO DTO转换神器的思路

当然有的人喜欢写get set,或者用BeanUtils 进行复制,代码只是工具,本文只是提供一种思....
的头像 Linux爱好者 发表于 10-12 11:13 228次 阅读

如何在Colab中使用SQL

如今,编码测试在数据科学面试过程中几乎是标准的。 作为一名数据科学招聘经理,我发现一个20-30分钟....
的头像 智能感知与物联网技术研究所 发表于 10-12 09:39 199次 阅读
如何在Colab中使用SQL

命令行工具Kubectl的别样用法

  kubectl 是 K8s 官方附带的命令行工具,可以方便的操作 K8s 集群。这篇文章主要介绍....
的头像 马哥Linux运维 发表于 10-12 09:31 154次 阅读

华为HiSec 3.0安全解决方案为企业构筑智能防御安全网络

华为HiSec 3.0安全解决方案以智能分析、动态检测、全局防御和内生可信为核心,根据不同行业痛点提....
的头像 华为数据通信 发表于 10-12 09:07 402次 阅读

一本教你怎么写出让同事无法维护的代码

‍对,你没看错,本文就是教你怎么写出让同事无法维护的代码。一、程序命名 容易输入的变量名 。比如:F....
的头像 Linux爱好者 发表于 10-11 15:45 193次 阅读

优秀的 Verilog/FPGA开源项目介绍(一)

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信 今天开始会陆续介绍一些优秀的开源项....
的头像 OpenFPGA 发表于 10-11 15:31 319次 阅读
优秀的 Verilog/FPGA开源项目介绍(一)

鸿蒙的网络管理功能你们知道有多厉害吗

  本示例演示了如何使用网络管理模块相关接口,演示了以下功能: 功能 1: 使用默认网络,打开连接,....
的头像 HarmonyOS技术社区 发表于 10-11 14:26 292次 阅读
鸿蒙的网络管理功能你们知道有多厉害吗

开发一个鸿蒙版仿苹果计算器教程.附代码

众所周知鸿蒙 JS 框架是非常轻量级的 MVVM 模式。通过使用和 Vue2 相似的属性劫持技术实现....
的头像 HarmonyOS技术社区 发表于 10-11 14:17 247次 阅读
开发一个鸿蒙版仿苹果计算器教程.附代码

几种使用DMA的可行设计探讨

使用独立于内核的外设(CIP)构建硬件状态机 简介 状态机是逻辑单元、存储器单元和反馈的组合。状态机....
的头像 Microchip微芯 发表于 10-11 09:58 859次 阅读

剖析verilog2005的骚操作之对数函数

小技巧分享: verilog下取对数其实可用$clog2这个系统函数,和自己找代码里面写入funct....
的头像 玩儿转FPGA 发表于 10-09 15:29 258次 阅读
剖析verilog2005的骚操作之对数函数

Floyd如何求图的最短路径

前言 在 图论 中,在寻路最短路径中除了 Dijkstra 算法以外,还有 Floyd 算法也是非常....
的头像 算法与数据结构 发表于 10-09 14:38 152次 阅读
Floyd如何求图的最短路径

Python版test1实战说明

上一篇文章已经带着大家安装 DeepStream 的 Python 开发环境,并且执行最简单的 de....
的头像 NVIDIA英伟达企业解决方案 发表于 10-09 14:28 167次 阅读

教你们如何用 Python 快速制作海报级地图附代码

 1 简介 基于 Python 中诸如 matplotlib 等功能丰富、自由度极高的绘图库,我们可....
的头像 Linux爱好者 发表于 10-09 11:36 278次 阅读

如何用10行代码轻松在ZYNQ MP上实现图像识别

本文来自赛灵思高级产品应用工程师,张超。如今各种机器学习框架的普及使得个人搭建和训练一个机器学习模型....
的头像 XILINX开发者社区 发表于 10-09 10:47 1803次 阅读
如何用10行代码轻松在ZYNQ MP上实现图像识别

LMK04821芯片项目代码详解

大侠好,阿Q来也,今天是第二次和各位见面,请各位大侠多多关照。今天给各位大侠带来一篇项目开发经验分享....
的头像 FPGA技术江湖 发表于 10-08 17:51 318次 阅读
LMK04821芯片项目代码详解

如何用List组件减小JS运行内存

每种编程语言都有它的内存管理机制,不同设备上可用内存不同,分配给JS引擎可用的内存范围也不同。例如运....
的头像 HarmonyOS开发者 发表于 10-08 17:46 202次 阅读

如何链接两个名字一样动态库

在Linux应用的开发过程中,直接利用现成的第三方库(俗称:轮子)来完成自己的业务功能,是很常见的事....
的头像 Linux阅码场 发表于 10-08 14:58 220次 阅读