物联网听上去是一个高大上的词儿,还有什么大数据、云、智能制造等等,今天我也往这方面稍微靠一靠,这篇文章主要介绍的是通过 wifi 模块与传感器组合,实现感应计数器,应用场景主要如下:

1.统计 SMT 机器过板数量。

2.监测 SMT 机器是否停止运行。

3.AGV障碍物感应预警。

在此之前我们需要准备必备的硬件,wifi模块与传感器,分别如下图所示:

传感器 + wifi

接线方式如下:

3V --> 3V/5V

OUT-->15

GND-->SND

开发工具为 Arduion 1.8.9,打开工具之后我们开始编程,主要代码如下:

void loop(){
display.clear();
display.drawString(, , WiFi.localIP().toString()); //显示 IP 地址 display.display();
delay(); }
void setup()
{
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_16); //设置字体
display.clear();
display.drawString(, , id);
display.drawString(, , "...");
display.display();
while(WiFiMulti.run() != WL_CONNECTED) {
delay();
} Serial.begin();
delay(); Serial.print(digitalRead());
delay();
attachInterrupt(, CountTimes, FALLING); //触发条件 }

Api代码比较简单,一个写入数据一个读取数据:

 public string SaveData(System.Web.HttpContext app)
{
System.Web.HttpRequest req = app.Request; var db = Entity.SqlDB.GetInstance("mts");
int i = ;
Entity.WIFI_AUTO_COUNT wic = new Entity.WIFI_AUTO_COUNT();
if (db.Queryable<Entity.WIFI_AUTO_COUNT>().Any())
{
DataTable dt = db.Queryable<Entity.WIFI_AUTO_COUNT>().ToDataTable();
int curr_times = Convert.ToInt32(dt.Rows[][].ToString());
wic.TIMES = (curr_times + ).ToString();
i = db.Updateable(wic)
.UpdateColumns(it => new { it.TIMES })
.Where(it => it.FID == "test_key")
.ExecuteCommand();
}
else
{
wic.FID = "test_key";
wic.TIMES = ""; i = db.Insertable(wic).ExecuteCommand();
} MesLog.Logs.AddHourLog(req.Url.ToString());
return "ok";
} public string GetData(System.Web.HttpContext app)
{
System.Web.HttpRequest req = app.Request; var db = Entity.SqlDB.GetInstance("mts"); var json = db.Queryable<Entity.WIFI_AUTO_COUNT>().Select(it => new { Times = it.TIMES }).ToJson(); if (req["callback"] != null)
{
return req["callback"].Trim() + "([" + json + "])";//支持Jsonp
} return json;
}

wifi连接这一部分可以选择固定IP地址以及网关,也可以采用自动获取,Api 需要根据实际需求来编写,接收客户端的调用。

将资料写入至模块以后,我们可以通过Arduion 里面的工具-->Serial Monitor 将调试信息输出来,看看是否正确,最终的效果如下图所示:

我也顺应潮流,开通了微信公众号,后续会将博客园的文章同步至公众号!

关注以下公众号,您将获得更多资讯!

如果您觉得该文章对您有帮助,请帮忙点个赞,感谢!!

生产追溯系统-Wifi+传感器,实现计数器以及监控机器是否停止的更多相关文章

  1. 生产追溯系统-Raspberry Pi帮助我们节省大量硬件成本,助力信息化建设

    初识 Raspberry Pi 竟然有这么小的电脑主机?只有手掌这么大?电源线竟然跟手机数据线一样?当我第一次看到Raspberry Pi的时候,在脑海中产生了一连串的疑问,带着这些疑问逐渐开始研究这 ...

  2. 生产制造追溯系统-通过微信小程序实现移动端报表平台

    前言 前两篇文章主要梳理了一下在生产过程中如何更高效.更稳定的实现条码打印,有不少园子里的朋友私信我,互相讨论了一些技术方面的问题,双方都各有收获,再此感谢博客园提供的这个交流平台,让五湖四海的朋友能 ...

  3. 系统内存和CPU管理、监控

    本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...

  4. Python 基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控

    基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控   By: 授客 QQ:1033553122   1.测试环境 python 3.4 zookeeper- ...

  5. 生产制造追溯系统-IQC来料检验

    前言 相信大家都知道,任何一家工厂都有自己的仓库,用来存储采购回来的物料,那么在供应商将我们采购的物料送到工厂之后,我们都需要一个检验动作,也就是今天要说的===>IQC来料检验,这个检验动作是 ...

  6. 基于Web的制造追溯系统DEMO

    写在前面 本文不贴任何代码,以图片为主,也许图片更直观,请各位园友谅解! 很久没有写过博客了,这是2016年的第一篇文章:最近主要是忙着完成公司的一个新项目,逛园子的时间都明显少了,只有下班回到家睡觉 ...

  7. ECU 自动化生产测试系统

    概述 ECU(Electronic Control Unit) 是现代车辆中最重要的部件之一,其稳定性.可靠性对车辆安全性的影响至关重要.如何保证ECU 生产质量和效率.如何在生产过程中对ECU 进行 ...

  8. android获取系统wifi状态等

    WIFI 获取WIFI状态 WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); ...

  9. 机器学习入门18 - 生产机器学习系统(Production ML Systems)

    除了实现机器学习算法之外,机器学习还包含许多其他内容.生产环境机器学习系统包含大量组件.无需自行构建所有内容,而是应该尽可能重复使用常规机器学习系统组件.通过了解机器学习系统的一些范例及其要求,可以明 ...

随机推荐

  1. [LOJ#531]「LibreOJ β Round #5」游戏

    [LOJ#531]「LibreOJ β Round #5」游戏 试题描述 LCR 三分钟就解决了问题,她自信地输入了结果-- > -- 正在检查程序 -- > -- 检查通过,正在评估智商 ...

  2. 升级springboot 2.x 踩过的坑——跨域导致session问题

    目前IT界主流前后端分离,但是在分离过程中一定会存在跨域的问题. 什么是跨域? 是指浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域. 做过web后台的童鞋都知道,跨 ...

  3. django 报错 no such table: auth_user

    需要执行 python3 manage.py makemigrations python3 manage.py migrate 参考:http://arrayoverflow.com/question ...

  4. FWT 学习笔记

    FWT学习笔记 好久以前写的,先粘上来 定义数组 \(n=2^k\) \(A=[a_0,a_1,a_2,a_3,...,a_{n-1}]\) 令\(A_0=[a_0,a_1,a_2,...,a_{\f ...

  5. UVA 116 Unidirectional TSP(DP最短路字典序)

    Description    Unidirectional TSP  Background Problems that require minimum paths through some domai ...

  6. 【NOIP2015】信息传递(强连通分量)

    题意:找一张图中的最小环 O(n) 思路:强连通分量tarjan即可 注意环中节点数>1 ..]of longint; n,i,ans,tot,id,top,time,x:longint; pr ...

  7. ajax cache enable and ajax concurrency!

    Today, forget to close ajax cache which leads to duplicate result from cache as to Jquery, this way, ...

  8. es6总结(六)--新数据类型-Symbol

  9. 使用C语言和i2c-dev驱动

    原文地址:blog.csdn.NET/wyt2013/article/details/20740659 感谢作者分享. 在本博客的<使用Beaglebone Black的I2C(一)>中, ...

  10. Error: spawn xxxx ENOENT原因与解决

    背景: npm 运行项目时出现了该问题 原因: path环境变量配置不当,导致无法找到指定的程序,如Error: spawn cmd.exe ENOENT,出现该问题的原因是因为没有将%SystemR ...