愛鋒貝

 找回密碼
 立即注冊

只需一步,快速開始

扫一扫,极速登录

查看: 634|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

程序汪10萬接的垃圾回收小程序,開發(fā)2個(gè)月

[復(fù)制鏈接]

1368

主題

1488

帖子

6243

積分

Rank: 8Rank: 8

跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-9-25 04:03:17 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

一鍵注冊,加入手機(jī)圈

您需要 登錄 才可以下載或查看,沒有帳號?立即注冊   

x
本項(xiàng)目來自程序汪背后的私活小團(tuán)隊(duì),開發(fā)了一個(gè)垃圾回收小程序里面涉及物聯(lián)網(wǎng),給粉絲分享一下解決方案,希望給想接私活的朋友一些經(jīng)驗(yàn)參考

視頻版本 在 B站【我是程序汪】





目錄


  • 一、項(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)目二開就是比較速度








硬件改造(難點(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)被硬件小哥大卸八塊了




這是部分硬件負(fù)責(zé)通訊,太細(xì)節(jié)到原理程序汪也不會(huì)分析來



后端系統(tǒng)

PC端后臺主要是這些功能










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站視頻版本

-----------------------------
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

54

帖子

3

積分

Rank: 1

沙發(fā)
發(fā)表于 2022-9-25 05:58:08 | 只看該作者
我隨便把礦泉水瓶裝點(diǎn)水,是不是就更重了
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

33

帖子

2

積分

Rank: 1

板凳
發(fā)表于 2022-9-25 07:47:25 | 只看該作者
分類還是要依靠使用者的自覺來具體進(jìn)行投放咯。建議直接加入垃圾識別功能,丟錯(cuò)了扣積分哈哈哈。
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

53

帖子

3

積分

Rank: 1

地板
發(fā)表于 2022-9-25 09:45:56 | 只看該作者
二期項(xiàng)目的內(nèi)容,干嘛一期就開發(fā)哦
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

46

帖子

-4

積分

5
發(fā)表于 2022-9-25 10:46:10 | 只看該作者
我就尋思目前產(chǎn)品不太完整,還有后面的完善那也挺好的嘞!
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

51

帖子

3

積分

Rank: 1

6
發(fā)表于 2022-9-25 12:40:48 | 只看該作者
微擎后臺  有版權(quán)風(fēng)險(xiǎn)吧
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

49

帖子

3

積分

Rank: 1

7
發(fā)表于 2022-9-25 14:05:48 | 只看該作者
小程序源碼和后端SQL分享給大家參考學(xué)習(xí)下

鏈接: https://pan.baidu.com/s/1SrHO-FyPnKHvaxFp4a_4uA 密碼: ih5t

打開失敗呀
精選高品質(zhì)二手iPhone,上愛鋒貝APP

0

主題

41

帖子

6

積分

Rank: 1

8
發(fā)表于 2022-9-25 15:46:46 | 只看該作者
私信我
精選高品質(zhì)二手iPhone,上愛鋒貝APP
您需要登錄后才可以回帖 登錄 | 立即注冊   

本版積分規(guī)則

QQ|Archiver|手機(jī)版|小黑屋|愛鋒貝 ( 粵ICP備16041312號-5 )

GMT+8, 2025-2-13 15:59

Powered by Discuz! X3.4

© 2001-2013 Discuz Team. 技術(shù)支持 by 巔峰設(shè)計(jì).

快速回復(fù) 返回頂部 返回列表