一、准备物品
1. 树莓派ZeroWH(针脚焊接) (100元)


2. DC电池盒(2节装)(1元)

3. 18650锂电池2节(10元)

4. 小水泵(3元)

5. 继电器(3元)

6. 红外避障传感器(2元)

7. 多路DC-DC电压转换模块电源 12V转3.3/5/12V(2元)

8. 杜邦线若干(10元)

9. 斐讯N1小LINUX服务器(100元) 
二、总体设计

三、硬件接线
| 树莓派ZeroWH |
红外避障传感器 |
继电器 |
多路DC-DC电压转换模块电源 |
| BCM18 |
– |
VIN |
– |
| BCM23 |
OUT |
– |
– |
| GND |
– |
– |
GND |
| 红外避障传感器 |
多路DC-DC电压转换模块电源 |
| V3.3 |
V3.3 |
| GND |
GND |
| 继电器 |
多路DC-DC电压转换模块电源 |
| V3.3 |
V3.3 |
| GND |
GND |
| 继电器 |
水泵 |
多路DC-DC电压转换模块电源 |
| COM |
– |
5V |
| NO |
5V |
– |
| – |
GND |
GND |
四、程序代码
4.1 服务器代码
CREATE TABLE IF NOT EXISTS `warter_log` (
`id` int(11) NOT NULL,
`warter_time` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
const Koa = require("koa");
const serve = require("koa-static");
const router = require("koa-router")();
const app = new Koa();
var knex = require('knex')({
client: 'mysql',
connection: {
host : 'xxx',
port : 3360,
user : 'root',
password : 'xxx',
database : 'cjy'
},
debug: true,
pool: {
min: 0,
max: 3,
},
acquireConnectionTimeout: 10000,
});
app.use(serve(__dirname + "/webroot"));
router.get('/t', async (ctx, next) => {
ctx.response.body = "hello world!";
})
router.get('/warter_count', async (ctx<