物联网听上去是一个高大上的词儿,还有什么大数据、云、智能制造等等,今天我也往这方面稍微靠一靠,这篇文章主要介绍的是通过 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. Eclipse + Jersey 发布RESTful WebService(一)了解Maven和Jersey,创建一个WS项目(成功!)

    一.下文中需要的资源地址汇总 Maven Apache Maven网站 http://maven.apache.org/ Maven下载地址: http://maven.apache.org/down ...

  2. bzoj 3544 [ONTAK2010]Creative Accounting 贪心

    Description 给定一个长度为N的数组a和M,求一个区间[l,r],使得(\sum_{i=l}^{r}{a_i}) mod M的值最大,求出这个值,注意这里的mod是数学上的mod Input ...

  3. Bootstrap 模态框(Modal)插件数据传值

    原文:http://blog.csdn.net/baalhuo/article/details/51178154 模态框具体代码如下: <!-- 模态框(Modal) --> <di ...

  4. bzoj 2791 [Poi2012]Rendezvous 基环森林

    题目大意 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问,每组询问由两个顶点a.b组成,要求输出满足下面条件的x.y: 从顶点a沿着 ...

  5. hdu 6118 度度熊的交易计划

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. mybatis如何传入一个list参数

    <!-- 7.2 foreach(循环List<String>参数) - 作为where中in的条件 -->  <select id="getStudentLi ...

  7. display的32种写法--摘抄

    你知道『回』字有四种写法,但你知道display有32种写法吗?今天我们一一道来,让你一次性完全掌握display,从此再也不用对它发愁. 从大的分类来讲,display的32种写法可以分为6个大类, ...

  8. 获取本机外网IP的工具类

    ExternalIpAddressFetcher.java package com.tyust.common; import java.io.IOException; import java.io.I ...

  9. 【Visual Studio】让用VS2012/VS2013编写的程序在XP中顺利运行(转)

    原文转自 http://blog.csdn.net/asanscape/article/details/38752655 微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在 ...

  10. Servlet 2.4 规范之第三篇:Servlet生命周期

        SRV.2.3    Servlet生命周期 servlet有着定义良好且明确的生命周期,它定义了servlet以怎样的方式加载和实例化.初始化.怎样处理客户端请求.以及怎样停止服务.生命周期 ...