|
一鍵注冊,加入手機(jī)圈
您需要 登錄 才可以下載或查看,沒有帳號?立即注冊
x
本項(xiàng)目來自程序汪背后的私活小團(tuán)隊(duì),開發(fā)了一個(gè)垃圾回收小程序里面涉及物聯(lián)網(wǎng),給粉絲分享一下解決方案,希望給想接私活的朋友一些經(jīng)驗(yàn)參考
視頻版本 在 B站【我是程序汪】
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-1.jpg (150.18 KB, 下載次數(shù): 15)
下載附件
2022-9-27 11:24 上傳
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-2.jpg (155.79 KB, 下載次數(shù): 13)
下載附件
2022-9-27 11:24 上傳
目錄
- 一、項(xiàng)目構(gòu)成
- 二、開發(fā)人員
- 三、項(xiàng)目背景
- 四、小程序端
- 五、后端系統(tǒng)
- 最后 源碼資料分享
項(xiàng)目構(gòu)成
- 系統(tǒng)基本構(gòu)成:原生微信小程序+ PC后臺+硬件
安裝命令
開發(fā)人員以及費(fèi)用情況
- 開發(fā)周期60天
- 開發(fā)人數(shù) 2人
- 整體費(fèi)用是10萬(不包含維護(hù)費(fèi))
- 走的公司合同
- 華為云服務(wù)器1臺
- 維護(hù)費(fèi)用:項(xiàng)目總款的10% 一年
項(xiàng)目背景
這算一個(gè)公益類項(xiàng)目,鼓勵(lì)大家自覺垃圾分類的,其實(shí)大點(diǎn)的城市都已經(jīng)垃圾分類了,為了進(jìn)一步鼓勵(lì)居民垃圾分類,我們這個(gè)項(xiàng)目采用了積分獎(jiǎng)勵(lì)制,有點(diǎn)類似行用卡積分,賺的積分可以購買商品的。
小程序端
這類回收的項(xiàng)目,程序汪也在github上找了一波,沒發(fā)現(xiàn)有合適開源的,于是就到某寶上花錢購買了一套回收的小程序系統(tǒng)+PC端后臺,(不要問我為什么不從零開始開發(fā)這樣的逗比問題?。?,接外包項(xiàng)目二開就是比較速度
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-3.png (2.21 KB, 下載次數(shù): 15)
下載附件
2022-9-27 11:24 上傳
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-4.jpg (74.01 KB, 下載次數(shù): 14)
下載附件
2022-9-27 11:24 上傳
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-5.jpg (131.46 KB, 下載次數(shù): 13)
下載附件
2022-9-27 11:24 上傳
硬件改造(難點(diǎn))
這塊其實(shí)是硬件兄弟出的解決方案,去某寶花40元左右買的電子秤,然后自己開發(fā)的控制板跟電子秤對接,讀取它的具體數(shù)據(jù),通過MQTT協(xié)議把數(shù)據(jù)同步到阿里云IOT上,然后通過HTTP2.0把數(shù)據(jù)同步到Java后端服務(wù)
電子秤擺攤商用小型臺秤30kg公斤計(jì)價(jià)稱重賣菜精準(zhǔn)廚房電子稱家用
數(shù)據(jù)流
程序汪提著1公斤西瓜皮->手機(jī)二維碼掃->綁定身份信息->打開垃圾桶蓋丟到對應(yīng)垃圾桶內(nèi)->電子秤返回重量->控制板->阿里云IOT->后端服務(wù)->積分增加
消息鏈路設(shè)計(jì)的知識
- MQTT 消息傳輸協(xié)議
- 阿里云IOT
- http2.0
MQTT消息傳輸協(xié)議
MQ 遙測傳輸 (MQTT) 是輕量級基于代理的發(fā)布/訂閱的消息傳輸協(xié)議,設(shè)計(jì)思想是開放、簡單、輕量、易于實(shí)現(xiàn)。這些特點(diǎn)使它適用于受限環(huán)境。例如,但不僅限于此:
- 網(wǎng)絡(luò)代價(jià)昂貴,帶寬低、不可靠。
- 在嵌入設(shè)備中運(yùn)行,處理器和內(nèi)存資源有限。
采用springboot實(shí)現(xiàn)http2.0
1、java的配置tomcat實(shí)現(xiàn)http2.0。
2、http2.0升級協(xié)議添加到Tomcat的連接器。您可以通過自定義嵌入式Tomcat容器來實(shí)現(xiàn)。
文章最下方有參考資料,大家可以具體看看用springboot怎么實(shí)現(xiàn)http2.0
@Bean
public EmbeddedServletContainerCustomizer tomcatCustomizer() {
return (container) -> {
if (container instanceof TomcatEmbeddedServletContainerFactory) {
((TomcatEmbeddedServletContainerFactory) container)
.addConnectorCustomizers((connector) -> {
connector.addUpgradeProtocol(new Http2Protocol());
});
}
};
}
下圖是測試機(jī),電子秤已經(jīng)被硬件小哥大卸八塊了
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-8.jpg (118.97 KB, 下載次數(shù): 14)
下載附件
2022-9-27 11:24 上傳
這是部分硬件負(fù)責(zé)通訊,太細(xì)節(jié)到原理程序汪也不會(huì)分析來
后端系統(tǒng)
PC端后臺主要是這些功能
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-12.jpg (46.5 KB, 下載次數(shù): 13)
下載附件
2022-9-27 11:24 上傳
程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月-13.jpg (91.69 KB, 下載次數(shù): 16)
下載附件
2022-9-27 11:24 上傳
DB的設(shè)計(jì)我分享一個(gè)訂單表出
支持以下語言種類:
-- ----------------------------
-- Table structure for ims_cjdc_order
-- ----------------------------
DROP TABLE IF EXISTS `ims_cjdc_order`;
CREATE TABLE `ims_cjdc_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL COMMENT '用戶id',
`order_num` varchar(20) NOT NULL COMMENT '訂單號',
`state` int(11) NOT NULL COMMENT '1.待付款2.待結(jié)單3.等待送達(dá)4.完成5.已評價(jià)6.取消7.拒絕8.退款中9.已退款10.退款拒絕',
`time` varchar(20) NOT NULL COMMENT '下單時(shí)間',
`pay_time` varchar(20) NOT NULL COMMENT '支付時(shí)間',
`jd_time` varchar(20) NOT NULL COMMENT '接單時(shí)間',
`cancel_time` varchar(20) NOT NULL COMMENT '取消時(shí)間',
`complete_time` varchar(20) NOT NULL COMMENT '完成時(shí)間',
`money` decimal(10,2) NOT NULL COMMENT '付款金額',
`box_money` decimal(10,2) NOT NULL COMMENT '餐盒費(fèi)',
`ps_money` decimal(10,2) NOT NULL COMMENT '配送費(fèi)',
`mj_money` decimal(10,2) NOT NULL COMMENT '滿減優(yōu)惠',
`xyh_money` decimal(10,2) NOT NULL COMMENT '新用戶立減',
`tel` varchar(20) NOT NULL COMMENT '電話',
`name` varchar(20) NOT NULL COMMENT '姓名',
`address` varchar(200) NOT NULL COMMENT '地址',
`type` int(11) NOT NULL COMMENT '1.外賣2.店內(nèi)3.預(yù)定4.當(dāng)面付',
`store_id` int(11) NOT NULL COMMENT '商家id',
`note` varchar(50) NOT NULL COMMENT '備注',
`jj_note` varchar(50) NOT NULL COMMENT '拒絕理由',
`area` varchar(20) NOT NULL COMMENT '區(qū)域',
`lat` varchar(20) NOT NULL COMMENT '經(jīng)度',
`lng` varchar(20) NOT NULL COMMENT '緯度',
`del` int(11) NOT NULL DEFAULT '2' COMMENT '1.刪除 2.未刪除',
`pay_type` int(11) NOT NULL COMMENT '1.微信支付2.余額支付3.積分支付4.貨到付款',
`form_id` varchar(50) NOT NULL COMMENT '模板消息form_id',
`form_id2` varchar(50) NOT NULL COMMENT '發(fā)貨formid',
`code` varchar(100) NOT NULL COMMENT '支付code',
`order_type` int(11) NOT NULL COMMENT '1.配送2.到店自取',
`delivery_time` varchar(20) NOT NULL COMMENT '送達(dá)時(shí)間',
`sex` int(11) NOT NULL,
`discount` decimal(10,2) NOT NULL,
`tableware` int(11) NOT NULL COMMENT '餐具',
`dd_info` text NOT NULL COMMENT '達(dá)達(dá)信息',
`uniacid` int(11) NOT NULL,
`yhq_money` decimal(10,2) NOT NULL,
`coupon_id` int(11) NOT NULL,
`yhq_money2` decimal(10,2) NOT NULL,
`coupon_id2` int(11) NOT NULL,
`table_id` int(11) NOT NULL,
`dn_state` int(11) NOT NULL,
`dm_state` int(4) NOT NULL,
`yy_state` int(11) NOT NULL,
`deposit` decimal(10,2) NOT NULL,
`ship_id` varchar(30) NOT NULL,
`zk_money` decimal(10,2) NOT NULL,
`is_dd` int(11) NOT NULL DEFAULT '2',
`pt_info` text NOT NULL,
`kfw_info` text NOT NULL,
`hb_type` int(4) NOT NULL DEFAULT '1',
`original_money` decimal(10,2) NOT NULL,
`oid` int(11) NOT NULL,
`sss_peisong_id` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `store_id` (`store_id`),
KEY `state` (`state`),
KEY `order_type` (`order_type`),
KEY `uniacid` (`uniacid`),
KEY `user_id_2` (`user_id`),
KEY `store_id_2` (`store_id`),
KEY `state_2` (`state`),
KEY `order_type_2` (`order_type`),
KEY `uniacid_2` (`uniacid`),
KEY `user_id_3` (`user_id`),
KEY `store_id_3` (`store_id`),
KEY `state_3` (`state`),
KEY `order_type_3` (`order_type`),
KEY `uniacid_3` (`uniacid`),
KEY `user_id_4` (`user_id`),
KEY `store_id_4` (`store_id`),
KEY `state_4` (`state`),
KEY `order_type_4` (`order_type`),
KEY `uniacid_4` (`uniacid`),
KEY `user_id_5` (`user_id`),
KEY `store_id_5` (`store_id`),
KEY `state_5` (`state`),
KEY `order_type_5` (`order_type`),
KEY `uniacid_5` (`uniacid`)
) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8;
如果想要更換代碼主題,可在上方挑選,不支持代碼主題自定義。
程序汪這里有很多私活團(tuán)隊(duì),其實(shí)都是我的粉絲轉(zhuǎn)換的,大家有其他私活的項(xiàng)目需要合作共贏的 歡迎加我微信 itwang007 備用微信 itwang008 itwang009
參考文檔:
- 接入阿里云IoT平臺
https://www.cnblogs.com/cache-yuan/p/10291511.html
- MQTT入門
https://www.runoob.com/w3cnote/mqtt-intro.html
- mqtt案例代碼
https://gitee.com/try-to/swoole_mqtt
- http2.0
https://blog.csdn.net/qq_32447301/article/details/94299686
小程序源碼和后端SQL分享給大家參考學(xué)習(xí)下
鏈接: https://pan.baidu.com/s/1SrHO-FyPnKHvaxFp4a_4uA 密碼: ih5t
- 程序汪接的7個(gè)私活都在這里,經(jīng)驗(yàn)整理
點(diǎn)下方原文鏈接觀看B站視頻版本
----------------------------- |
|