自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

\\\布谷鸟///的专栏

专注于ERP与信息管理,流程管理

  • 博客(124)
  • 资源 (7)
  • 收藏
  • 关注

原创 手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯

通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态.手机,TTL转USB转换器模块,WeMosD1R32开发板,电脑,杜邦线。5,打开手机蓝牙,连接WeMosD1R32.设置好相关参数.6,点击手机蓝牙工具按钮,观察电脑串口显示界面中的信息.切图有误,下面的红色方框内应该是:H.L.F.B.

2023-11-15 18:37:02 1622

原创 ESP8266,手机与电脑之间的TCP通讯

/ 注意如果是本地设备作服务器,则要求TCP Sever 和 ESP8266 都连接到同一个路由器。如果从手机端点击"发送"按钮,则也会将"ghhh东方红广场"几个字发送到电脑上(服务端).120.76.100.197 即:webtcp.tongxinmao.com的IP地址.// 注意作为客户端的电脑或手机必须先通过WIFI连接到此ESP8200上。// ESP8266 TCP服务端程序,同时也作为一个WIFI AP。// 即和 ESP8266 都连接到同一个网络中。手机与电脑之间的TCP通讯。

2023-10-27 20:39:04 1530 1

原创 NODEJS+MYSQL实现事务处理功能

建立数据表:create table tmp (i0 int unsigned not null auto_increment,i1 int,c2 varchar(12),d3 datetime default now(),primary key (i0),unique key (i1));由于无法catch到connection.query中ERROR。为实现事务处理功能,测试以下程序可以:var mysql = require('mysql');var conn

2021-11-21 21:05:29 2003

原创 顺藤摸瓜,打通支付宝沙箱环境!

突然降临的客户需求,让我不得不研究支付宝支付的技术.花了几天功夫,在网上找了些资料,顺藤摸瓜,打通了沙箱环境下的支付宝支付.好不高兴.由于使用的环境是nodejs, 网上的资料少之又少.依照其它语言,依葫芦画瓢,遇到不少坑.现将过程记录下来,因为后续还要在现实业务中继续现实支付,以免忘却.以下只记录了几个要点.细节的地方还要看网上的资料.1,要搞清"应用公钥","应用私钥","支付宝公钥"之间的区别;2,因为是NODEJS环境,所以有些设置并不与JAVA环境的相同,如密钥格式(PKCS1,而非P

2021-08-21 01:36:59 897 1

原创 异步同步说说PROMISE:

在NODEJS编程中,一般来说,与"硬件"相关的操作都是异步的,比如读写磁盘文件,读写数据库,读写网络数据,读写时间信息,剩下的读写内存数据自然都是同步的了.由于有些操作是异步的,但有时我们需要"等待",等待它执行完成后,再去执行另一个操作.这种等待在编程上就体现为"嵌套",等待的操作越多,嵌套得就越深,程序也就越发难以理解.关于"同步"和"异步"有时比较难以理解 , 或者说难以描述, 我的理解是:"异步"的函数是同时执行的,不需要等待,也就是非堵塞型的(或者叫"并行");"同步"的函数是顺

2021-06-23 14:08:00 140

原创 websocket:广播

先看看视频:服务端程序(websocket.js):var ws = require("nodejs-websocket");function now() { return new Date().toLocaleString();}var n = 0;var BC = 0;function broadcast(server) { if(BC>0) return; BC = setInterval(() => { n++;..

2021-06-20 12:17:23 766 1

原创 websocket:互动

服务端程序: 1 var ws = require("nodejs-websocket"); 2 3 function now() { 4 return new Date().toLocaleString(); 5 } 6 function broadcast(server, msg) { 7 server.connections.forEach(function (conn) { 8 conn.sendText(msg) 9 }...

2021-06-20 11:37:27 141

原创 踩坑不大紧,就怕踩雷

踩坑不大紧,就怕踩雷:微信的这个工具有点像探雷器,微信支付接口签名校验工具[https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1]使用它吧, 避免头破血流!

2021-05-12 12:42:44 198

原创 Docker 安装多个 MySQL 数据库

一、Docker 安装 MySQL 1、查看可用的 MySQL 版本 # docker search mysql 2、拉取 MySQL 镜像 # docker pull mysql:latest 3、查看本地镜像 # docker images 4、运行容器 # docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345...

2021-03-02 00:22:14 1838

原创 NODEJS:TYPE-MODULE究竟是坑还是坟墓?

NODEJS:TYPE-MODULE究竟是坑还是坟墓?也算是编程老手了,却被NODEJS 的 MODULE搞得天浑地暗,晕头转向,长嘘短叹,死去活来。感觉这那里是坑,简直就是坟墓。花了整整的一天的功夫,也终于是理清了个皮毛。“无图不丈夫”,程序不复杂,一共加起来不超过十行。直接将程序整理成图片,看起来一目了然。最后再缀几句话:在Node.js的14版本中,有两种脚本:有老式的CommonJS(CJS)和新型的ESM(又名MJS)。两种模式就是靠 package.json 中的 type

2021-02-07 22:28:25 1831

原创 Nodejs同步读取MySQL数据库

Nodejs同步读取MySQL数据库Nodejs在处理文件操作或者是数据库操作都采取是异步模式的。按照传统的非异步模式编程,后续操作是无法用到前续的访问结果。如果后续操作不得不用到前续的结果时,就必须是嵌套的方式进行编程。ECMAscript 6 原生提供了 Promise 对象。有了 Promise 对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise 对象提供统一的接口,使得控制异步操作更加容易。配合async/await语法的使用,使原来层层嵌套的程序

2021-02-06 11:34:15 2059 1

原创 一部手机控制两个NODEMCU实施方案(改进版)

一部手机控制两个NODEMCU实施方案(改进版)2021.2.11, NODEMCU ESP8266 x2 web客户端,ARDUINO程序 通过访问WEB服务器,来获得LED灯的状态。 每个8266板都由一个唯一的编号,可通过手机来单独控制,也可以统一控制。2, 手机(三星GT-N7100) KSWEB服务器 提供web服务,MYSQL服务,FTP服务 提供AP服务ARDUINO: ESP8266-cli-get...

2021-02-01 16:20:09 294

原创 一部手机控制两个NODEMCU实施方案

一部手机控制两个NODEMCU实施方案2021.1.301, TL-WD5800 提供WIFI接入2, NODEMCU ESP8266 x2 web客户端,ARDUINO程序 通过访问WEB服务器,来获得LED灯的状态。 3, 手机(三星GT-N7100) KSWEB服务器 提供web服务,MYSQL服务,FTP服务 4, 手机(华为Mate30) WEB浏览器 操作LED灯的状态 (可以通...

2021-01-30 21:41:07 367 2

原创 将服务器揣在衣服兜里

将服务器揣在衣服兜里,开玩笑?不相信吧!?好,下面告诉你怎么做。在手机上安装一款软件,它叫KSWEB,是一套面向android平台的web开发人员应用。它包括:一个web服务器、一个php编程语言、一个数据库mysql和用于支持sendmail的msmtp。此套件允许您在android设备中组织用于运行和调试web应用程序(站点)的平台,并且您不需要根访问权限即可运行. 怎么样?很简单吧。关键是,麻雀虽然弱小,五脏六腑俱全。再配以热点访问,无网又奈我何?安装过程极其简单,以下是我安装后的情形:

2021-01-29 22:33:03 163

原创 智能平衡小车命令模式使用说明

智能平衡小车命令模式使用说明2021.1.27智能平衡小车命令模式即发送给小车一串指令,让小车按指令定义的路线进行移动.1,指令格式 1.1, 指令以字符'@'打头; 1.2, 指令各节之间以字符'_'分隔; 1.3, 指令中,控制小车移动的字符如下: I 小车前进 M 小车后退 J 小车左转 K 小车右转 1.4, 完整的指令...

2021-01-27 23:15:00 664 1

原创 Javascript 函数做为变量

1.直接定义function request(f) { f(12,23);}request( (a,b)=>{ console.log(a,b,a+b); return a+b; });2,预先定义(三种方式均可)function request(f) { f(12,23);}//var q=(a,b)=>{//var q=function(a,b){function q(a,b){ console.log(a,b,a+b); return a+b;

2021-01-16 18:24:24 862

原创 Javascript 之 auguments

arguments:关键字args:

2021-01-15 23:36:02 611

原创 ARDUINO IDE,实现字符串解析

ARDUINO IDE,实现字符串解析以下是要解析的字符串的模式:@mm_kkAnnBnnCnn_kkDnnEnn_kkFnnGnn_@:标识,表示解析开始mm:整体重复次数kk:小组重复次数A,B,C,D...:需要输出的字母nn:字母输出时的毫秒数具体举例:@2_2C1_3D20K43_4E68即:2 x ( 2 x C[1]+3 x (D[20]+K[43]) + 4 x E[68] ) --方括号里是输出的毫秒数;以上思路应用于智能小车按即定轨迹运..

2021-01-06 22:51:20 917

原创 ARDUINO,同样是10毫秒,结果为什么差那么大呢?

同样是10毫秒,结果为什么差那么大呢?Arduino UNO R3Arduino UNO R3通过串口监视器,想完成在指定的时间(毫秒)里输出一些字母,却发现,在相同的时间里,输出的结果差别很大。但也就出现在第一次输出时。没有明白串口输出这块还有什么奥妙??看结果:附原程序:String k_str=""; int MODE = 0;// === 初始设置 ===void setup() { Serial.begin(9600); } long int inum

2021-01-05 12:46:45 478 3

原创 ARDUINO板驱动两个NEMA17电机同步运转

最近在做一个案例,要求ARDUINO板驱动两个NEMA17电机. 查了以下,有个AccelStepper.h库,用着也挺方便.但我有另一个硬性的要求,用这个库很难实现.索性自己写了个程序,完成了这一目标.这个硬性的要求就是:两个电机要同步,即同时起步,同时停止.旋转的速度和方向可以不一样.下面是实现的详细过程.1.BOMARDUINO uno R3,1A4988,25V power,1(单独给电机供电)小面包板,1面包线,若干2,示意图3,操作说明通过ARDU

2020-12-12 17:28:34 1929

原创 ARDUINO:控制两台步进电机同步运转

要控制两台步进电机同步进行运转,即同时起步,同时加速,同时到达最大速度,同时减速,最后同时停止。这是要有一定的算法的:假如B1电机所走的路程是B2的n倍,在同时起步的前提下,v1=n*v2,a1=n*v2, 才能保证以上的同步结果。本文程序是在太极创客程序的基础上对其修改后的,接线方式完全保持不变。主要的修改如下:1, data(电机指令参数)和 stepperNum(控制电机编号) 两个变量改为数组;2,data(电机指令参数)和 stepperNum(控制电机编号) 两个变量由int

2020-12-11 13:44:01 9236 2

原创 ARDUINO:通过蓝牙串口来控制定时器

ARDUINO:通过蓝牙串口来控制定时器2020.12.10BOM:ARDUINO UNO开发板HC-06蓝牙模块面包线安装蓝牙APP的手机接线图:图片说明:1,上图已经上穿完程序从电脑上断开USB连线了.2.为了方便电源插接,在开发板上插了一块扩展盾板.运行说明:1,按图示拦截好线路.关键:蓝牙模块的TX,RX要与开发板上的TX,RX交叉连接.2,接通电源,板载灯开始闪烁;3,在手机上打开蓝牙APP;找到蓝牙模块(HC-06sandian),配对

2020-12-10 23:24:09 698

原创 ESP8266-NodeMCU WiFi 演示 MQTT协议的发布与订阅

mqtt

2020-11-15 23:11:32 439

原创 实现Julia Set分图形

对分形图形的好奇早就有了。最近有了闲暇,准备用javascript来实现Julia Set图形。深入了解才知道,JuliaSet分形图是一个点阵图,不是一个矢量图,也即不能用画点线面的方法去生成。而且循环层数多,运算效率比较低。还有,就是在如下的计算JuliaSet的复平面公式中:F(Z) = Z*Z +C因为在前后循环中,有复数自乘的情况,所以Z,C的实部和虚部都要在-1和1之间才能很好的运行,一旦有大于1(或小于-1)的数,在循环过程中,很快就出现超界而导致程序报错。为了将屏幕尺寸数

2020-08-18 18:28:22 1484

原创 Promise 的应用

Promise有各种开源实现,在ES6中被统一规范,由浏览器直接支持。最大的好处是在异步执行的流程中,把执行代码和处理结果的代码清晰地分离了.Promise还可以做更多的事情,比如,有若干个异步任务,需要先做任务1,如果成功后再做任务2,任何任务失败则不再继续并执行错误处理函数。要串行执行这样的异步任务,不用Promise需要写一层一层的嵌套代码。以下是其应用之一:随机生成0-5之间的数字,小于2时,立即停止,否则在数字秒数之后停止。<!doctype html><html la

2020-08-08 13:17:00 154

原创 极简贝塞尔曲线函数

极简贝塞尔曲线函数,用不足20行语句,实现了各阶次的贝塞尔曲线生成,无疑是非常之精简了。// bezier 极简贝塞尔曲线函数// 2020-07-25 谷来成// 参数分别为;[起点,控制点...,终点],切分段数function bezier1(points,cutnumber) { var level = points.length/2-1; //次阶数 var bpoints=[]; var f,x,y; for(var i=0;i<=cutnu...

2020-07-25 15:30:57 547

原创 叫天不应,呼地不灵,只有自我拯救

<!DOCTYPE html><html><head> <title>IoT日志监控</title></head><body> <button οnclick='alert(111)'>清空</button> <button onclick="aler...

2020-02-02 14:03:13 277

原创 如何检查高频次的插入数据操作?

如何检查高频次的插入数据操作?高频次的数据插入一般来说是异常的.做为日常操作,数据插入的频次不可能是毫秒级的,由此可以判定,如果有高频次的数据插入,一定是程序什么地方控制出了问题.首先,要找出是"谁","什么时间"进行了高频次的数据插入操作.其次,所谓的"高频次",是要在两条数据记录之间的进行时间对比,如果时间小于某值,就认为是高频次.再次,需要找到高频操作的时间点,对应地找到当时的操作...

2020-01-26 19:32:33 331

原创 MSSQL:十进制与二进制数之间的转换

提供两个函数,可以进行十进制与二进制数之间的转换:CREATE function [dbo].[D2B](@n int)returns nvarchar(63) with encryptionasbegindeclare @i intdeclare @s nvarchar(64)set @i = 30 -- 不考虑负数 31位set @s = ''while (@...

2020-01-03 14:38:51 798

原创 MSSQL:两数中的最大值或最小值

在mssql中,如果想知道两个数中的最大值,你可能会想到执行以下语句:select max(1729,1024)但是你获取的是两行错误信息:消息 174,级别 15,状态 1,第 1 行max 函数要求有 1 个参数。也就是说,在 MSSQL 数据库中最大最小的函数只能针对字段来操作,无法取两数中的最大或最小.为此,我写了以下函数,来达到最两值最大或最小的目的:以下两个函数则...

2020-01-03 14:24:27 6512

原创 阿拉伯数字转换为汉字大写数字

阿拉伯数字转换为汉字大写数字:首先需要建立两个视图:create view V_HZNumber as SELECT 0 F1,'零' F2,'个' F3 UNION SELECT 1 ,'壹' ,'拾' F3 UNION SELECT 2 ,'贰' ,'佰' F3 UNION SELECT 3 ,'叁' ,'仟' F3 UNION...

2019-12-30 17:14:39 1119

原创 javascript中的lambda表达式

javascript中的lambda表达式可以看做是一个匿名函数。<!DOCTYPE html><html><head></head><body> <script> var nubList = [ { expressI...

2019-10-01 00:17:04 3790

原创 sqlserver数据库中的位操作功能:将数据的第 n 位置为 非

今天介绍的功能需要用到本人之前所写的位操作功能(见本人之前的博文)--将数据的第 n 位置为 非--先判断数字 a 的第 n 位是否为 1:alter function G3(@a int,@n int)returns intasbegin declare @b int; if dbo.G2(@a,@n)=0 select @b=dbo.G1(@a,@n) else s...

2019-07-05 15:03:20 516

原创 SQL:从逗号分隔的字符串中移除某项数值

本应用功能中要用到之前本人写的过程函数:f_split(见本人博文)例如,要将:a,ab,abc,abcd,bcd,cd,d这个字符串中的 bcd 移除,可以用以下语句:select STUFF( (SELECT ','+F0001 FROM [dbo].[f_split]('a,ab,abc,abcd,bcd,cd,d',',') where...

2019-07-05 14:32:05 1174

原创 SQL:实现用逗号和分号分隔的字符串,返回一个数据表

ALTER function [dbo].[f_split2](@t varchar(8000),@s1 varchar(10),@s2 varchar(10))returns @retab table(F0000 int,F0001 varchar(20),F0002 varchar(100))--实现split功能 的函数 ,GULAICHENG-- 1,a;2,b;3,c;4,d...

2019-07-05 14:22:48 1945

原创 SQL:将逗号分隔的字符串分解为一个表:

ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table(F0000 int,F0001 varchar(100))--实现split功能 的函数 GULAICHENG--date :2003-10-14asbegin declare @i...

2019-07-05 14:19:01 1091

原创 sqlserver 中表行的操作

-- 按行取表两个字段的最小值(最大值、平均值等等如法炮制)。select *,(select MIN(f) from (values (F0001),(F0002)) as ss(f)) from T00001-- 按行取表三个字段的最小值(最大值、平均值等等如法炮制)。select *,(select MIN(f) from (values (F0001),(F0002),(F000...

2019-03-18 20:40:27 252

原创 SQL SERVER 多列的最大值,最小值,平均值一次性查询

SQL SERVER 多列的最大值,最小值,平均值一次性查询可以指定多列,其类型要一致,可以求其最大值,最小值,平均值等等。采用 cross apply 关联字。具体如下:select a.f0000,F0008,F0009,F0010,F0011,F0012,f0013,f1 minf,f2 maxf,f3 avgffrom te0001 across apply (se...

2019-03-08 10:04:40 4337

原创 关于数据库中的时间戳

关于数据库中的时间戳

2019-03-02 12:13:30 1383

原创 three.js实现的莫比乌丝圈

three.js实现的莫比乌丝圈标题 &lt;!DOCTYPE html&gt;&lt;!DOCTYPE html&gt;&lt;html&gt;    &lt;head&gt;        &lt;meta charset="UTF-8"&gt;        &lt;title&gt;three.js 实现的莫比乌丝圈&lt;/title&gt;   

2018-11-24 15:08:41 676

NOTEPAD++正则法则:第一个和最后一个

文章将为大家展示如何在NOTEPAD++中,将每行中的第一个/最后一个逗号替换为其它字符。其掌握的要点有三点:1,关键是要用好“非贪婪”限定符“?”;2,分组限定符“()”;3,分组保留用法。

2016-08-09

jQuery-each用法全面总结

jQuery-each用法全面总结,分门别类,有说明,有举例。

2016-07-29

一组测试ANSI文件与UTF-8文件的程序

这是一组测试ANSI文件与UTF-8文件的程序,主要是测试通过ADODB.Stream组件读取时的设置。

2011-12-16

普华永道-星星日报报业集团SAP_项目大纲

普华永道-星星日报报业集团SAP_项目大纲

2010-10-13

SAP实施范围评估报告书

西泠制冷电器有限公司 SAP R/3 与 BPR 实施范围评估报告书

2010-10-13

[原创]Javascript+ASP实现的表查询

1,用Javascript(注意不是vbscript)实现 2,任何表及视图的查询列表 3,以任何字段的排序(正序或倒序) 4,双击查看(未提供,可自行补充) 5,分页功能,每页行数可自定 6,组合查询功能(看帮助) 7,结果保存为excel的cvs格式 8....

2008-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除