欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > PPTX文档下载
    分享到微信 分享到微博 分享到QQ空间

    物联网仓储系统.pptx

    • 资源ID:276040       资源大小:680.56KB        全文页数:40页
    • 资源格式: PPTX        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    物联网仓储系统.pptx

    项目分工:项目分工:n主线程:董亚军郝贤森n系统移植:赵星达nM0:张立东 姜兆勇nWeb、CGI:刘继琛 张超物联网介绍物联网介绍n物联网是新一代信息技术的重要组成部分。其英文名称是“The Internet of things”。由此,顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。物联网就是“物物相连的互联网”。物联网通过智能感知、识别技术与普适计算、泛在网络的融合应用,被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。物联网定义物联网定义n最初在1999年提出:即通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器、气体感应器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。简而言之,物联网就是“物物相连的互联网”。物联网定义物联网定义n 中国物联网校企联盟将物联网的定义为当下几乎所有技术与计算机、互联网技术的结合,实现物体与物体之间:环境以及状态信息实时的实时共享以及智能化的收集、传递、处理、执行。广义上说,当下涉及到信息技术的应用,都可以纳入物联网的范畴。项目总流程项目总流程项目简介项目简介n 通过web端远程访问服务器,达到对数据的采集,查看实时的仓库信息。发生异常时进行报警、做出相应的处理。n 通过web端远程控制,当货物的进出仓库时进行记录。n n 这个方案主要用到了下面的技术:物联网仓储系统设计的技术物联网仓储系统设计的技术 Linux设备驱动 Zigbee无线技术与RFID技术 传感器技术(温度、光线、湿度、重力感应等) Cortex-M0 ARM 微控制器技术 I2C、SPI、中断、单总线、A/D、PWM、UART等多种接口技术 监控及视频流处理技术 GPRS远程报警技术(未完成) 嵌入式Web服务器技术 处理客户请求(CGI)技术 数据库技术(sqlite3) wifi技术(sqlite3)(未完成) html页面显示技术全局结构体定义全局结构体定义n/仓库货物信息nstruct storage_goods_infonnunsigned char goods_type;/货物类型,用数字表示nunsigned int goods_count;/货物数量n;全局结构体定义全局结构体定义n/某个仓库的全部信息nstruct storage_infonnunsigned char storage_status; nunsigned char led_status;nunsigned char buzzer_status;nunsigned char fan_status;nunsigned char seg_status;nsigned char x;nsigned char y;nsigned char z;nfloat temperature;nfloat temperatureMIN;全局结构体定义全局结构体定义nfloat temperatureMAX;nfloat humidity;nfloat humidityMIN;nfloat humidityMAX;nfloat illumination;nfloat illuminationMIN;nfloat illuminationMAX;nfloat battery;nfloat adc;nstruct storage_goods_info goods_infoGOODS_NUM;n;全局结构体定义全局结构体定义n/所有仓库的信息结构体nstruct env_info_clien_addrnnstruct storage_info storage_noSTORAGE_NUM;n;n/消息队列结构体nstruct msgnnlong type;/从消息队列接收消息时用于判断的消息类型nlong msgtype;/具体的消息类型nunsigned char textQUEUE_MSG_LEN;/消息正文n;用到的线程用到的线程n其中用到的线程如下:npthread_client_request():处理消息队列里请求的线程.npthread_refresh():更新共享内存里的实时数据.npthread_sqlite():数据库线程.npthread_transfer():接收M0数据线程.npthread_analysis():M0数据分析线程.npthread_sms():短信模块控制线程.(未使用)npthread_buzzer():A9蜂鸣器控制线程.npthread_led():A9LED模块线程.npthread_camera():摄像头模块控制线程.线程和进程的区别:线程和进程的区别:n线程:是一种轻量级进程,线程存在于进程中。n 线程和进程一样都会被操作系统调度(时间片)n 通常线程指的是共享相同地址空间的多个任务。n线程优势:线程运行时,相互切换效率高;线程之间共享数据很方便。n进程拥有独立的运行空间,一个进程崩溃后,在保护模式下并不会影响其他的进程。一个进程中可以包含有多个线程,而一个线程只能包含在进程中。一个线程拥有自己独有的局部变量栈,但是没有独立的空间,一个进程中多个线程共同共享一块资源,因此当一个线程崩溃后此进程也会崩溃。因此多进程要比多线程健壮性要好,但是,多进程效率比较低。当需要并行操作和共享某些变量最好使用多线程的模式。线程线程n创建:创建一个线程nint pthread_create(pthread_t *thread, const pthread_attr_t n *attr, void * (* routine)(void *), void *arg)n参数:thread, 线程的标识符(类似于进程的pid号)n attr, 用于指定创建的线程的属性, 通常为NULL(不需要设置)n routine, 函数指针,该函数就是线程主体n arg, 就是传递给函数的参数。n返回值:成功返回0, 失败返回非负的错误号线程线程n int pthread_exit(void *value_ptr) n 功能:只会导致当前线程的退出函数n 参数:就是传递的退出状态(指针)n 通常使用: pthread_exit(0); n返回值:成功返回0, 失败返回非负的错误号n进程对已经退出的线程必须要做回收线程资源的操作(否则会产生僵尸线程)nint pthread_join(pthread_t thread, void *value_ptr) n功能:阻塞等待回收退出的线程的资源n参数: thread, 就是指定要回收的线程资源n value_ptr, 就是接收到线程的退出状态。n返回值:成功返回0, 失败返回非负的错误号 线程的控制线程的控制n控制线程: n互斥锁 :主要用来保护临界资源(可是变量,后者是代码段)n 任何时刻最多只能有一个线程能访问该资源n相关函数接口:nint pthread_mutex_init(pthread_mutex_t *mutex, pthread_mutexattr_t *attr)n功能:锁的初始化函数,即生成一把锁n参数: mutex, 是锁的标识符n attr, 设置锁的属性, 通常为NULL。n返回值: 返回值:成功返回0, 失败返回非负的错误号 线程控制线程控制nint pthread_mutex_lock(pthread_mutex_t *mutex)p功能:阻塞等待直到这把锁申请成功为止,对临界资源进行上锁操作p参数: mutex, 就是指定的一把锁 p返回值:成功返回0, 失败返回非负的错误号nint pthread_mutex_unlock(pthread_mutex_t *mutex) p功能:对临界资源进行解锁操作p参数: mutex, 就是指定要解开的锁 p返回值:成功返回0, 失败返回非负的错误号 nint pthread_mutex_destroy(pthread_mutex_t *mutex);p功能:销毁一把指定的锁p参数: mutex, 就是指定要销毁的锁 p返回值:成功返回0, 失败返回非负的错误号注意: 为了避免死锁:在申请多把锁时,所有的线程都按照同样的顺序去申请。线程之间的通信线程之间的通信-条件变量条件变量 int pthread_cond_init(pthread_cond_t *restrict cond,const pthread_condattr_t *restrict attr);n 功能:初始化一个条件变量n 参数:cond, 就是条件变量的标识符n attr, 通常为NULL即可n 返回值:成功返回0, 失败返回非负的错误号 nint pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex);n功能:条件睡眠,直到被指定的条件唤醒为止n参数: cond, 就是指定睡眠 条件,将来被唤醒时也必须满足该条件n mutex, 该函数睡眠时必须提前加上一把锁n 注意:该睡眠函数调用之前必须先加上一把锁,然后进入睡眠,然后该函数内部n 将锁解开;当该函数被唤醒时,需要重新加上这把锁,如果发现这把锁被其他线程n 占用,那么该函数的唤醒操作就失败了,继续睡眠。 n返回值:成功返回0, 失败返回非负的错误号 线程之间的通信线程之间的通信-条件变量条件变量nint pthread_cond_signal(pthread_cond_t *cond);n功能:就是唤醒睡眠在cond条件上的线程,但是只能唤醒一个线程n参数: cond, 就是指定要唤醒的条件n返回值:成功返回0, 失败返回非负的错误号 nint pthread_cond_broadcast(pthread_cond_t *cond);n功能:唤醒所有睡眠这个条件上的线程nint pthread_cond_destroy(pthread_cond_t *cond);n功能:就是销毁条件变量 处理消息队列请求线程处理消息队列请求线程消息对列消息对列n创建/打开消息队列对象nint msgget(key_t key, int flag);n参数:key, ftok()函数的返回值,用于确保多个进程操作同一个消息队列n flag, IPC_CREAT IPC_EXCL 和共享内存一样n返回值:成功返回消息队列的标识符, 失败-1n比如:msgget(key, IPC_CREAT|IPC_EXCL|0666);消息对列消息对列nint msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);n参数:msgid, msgget的返回值n msgp, 要发送的数据的指针,有指定的数据格式。n struct msgbuf n long mtype; /* message type, must be 0 */n 数据类型,可以自定义; /* message data */n int a; char b; float f;n ;n msgsz, 发送的消息的正文的长度 = sizeof(struct msgbuf) - sizeof(long)n msgflg,IPC_NOWAIT 以非阻塞方式发送消息,如果发送不成功,那么不会阻塞,立刻返回。n 0(常用), 以阻塞方式发送消息,如果发送不成功,那么阻塞等待,直到发送成功为止。n返回值:成功0, 失败-1消息队列消息队列nssize_t msgrcv(int msqid, void *ms

    注意事项

    本文(物联网仓储系统.pptx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开