爱锋贝

 找回密码
 立即注册

只需一步,快速开始

扫一扫,极速登录

查看: 537|回复: 7
收起左侧

程序汪10万接的垃圾回收小程序,开发2个月

[复制链接]

1368

主题

1488

帖子

6243

积分

Rank: 8Rank: 8

发表于 2022-9-25 04:03:17 | 显示全部楼层 |阅读模式

一键注册,加入手机圈

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本项目来自程序汪背后的私活小团队,开发了一个垃圾回收小程序里面涉及物联网,给粉丝分享一下解决方案,希望给想接私活的朋友一些经验参考

视频版本 在 B站【我是程序汪】

程序汪10万接的垃圾回收小程序,开发2个月-1.jpg

程序汪10万接的垃圾回收小程序,开发2个月-2.jpg

目录


  • 一、项目构成
  • 二、开发人员
  • 三、项目背景
  • 四、小程序端
  • 五、后端系统
  • 最后  源码资料分享

项目构成

  • 系统基本构成:原生微信小程序+ PC后台+硬件

安装命令
开发人员以及费用情况


  • 开发周期60天
  • 开发人数 2人
  • 整体费用是10万(不包含维护费)
  • 走的公司合同
  • 华为云服务器1台
  • 维护费用:项目总款的10% 一年


项目背景

这算一个公益类项目,鼓励大家自觉垃圾分类的,其实大点的城市都已经垃圾分类了,为了进一步鼓励居民垃圾分类,我们这个项目采用了积分奖励制,有点类似行用卡积分,赚的积分可以购买商品的。

小程序端

这类回收的项目,程序汪也在github上找了一波,没发现有合适开源的,于是就到某宝上花钱购买了一套回收的小程序系统+PC端后台,(不要问我为什么不从零开始开发这样的逗比问题啊),接外包项目二开就是比较速度


程序汪10万接的垃圾回收小程序,开发2个月-3.png

程序汪10万接的垃圾回收小程序,开发2个月-4.jpg

程序汪10万接的垃圾回收小程序,开发2个月-5.jpg

硬件改造(难点)


这块其实是硬件兄弟出的解决方案,去某宝花40元左右买的电子秤,然后自己开发的控制板跟电子秤对接,读取它的具体数据,通过MQTT协议把数据同步到阿里云IOT上,然后通过HTTP2.0把数据同步到Java后端服务





电子秤摆摊商用小型台秤30kg公斤计价称重卖菜精准厨房电子称家用





数据流
程序汪提着1公斤西瓜皮->手机二维码扫->绑定身份信息->打开垃圾桶盖丢到对应垃圾桶内->电子秤返回重量->控制板->阿里云IOT->后端服务->积分增加



消息链路设计的知识


  • MQTT 消息传输协议
  • 阿里云IOT
  • http2.0




MQTT消息传输协议

MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。例如,但不仅限于此:

  • 网络代价昂贵,带宽低、不可靠。
  • 在嵌入设备中运行,处理器和内存资源有限。


采用springboot实现http2.0
1、java的配置tomcat实现http2.0。
2、http2.0升级协议添加到Tomcat的连接器。您可以通过自定义嵌入式Tomcat容器来实现。

文章最下方有参考资料,大家可以具体看看用springboot怎么实现http2.0

@Bean
public EmbeddedServletContainerCustomizer tomcatCustomizer() {
    return (container) -> {
        if (container instanceof TomcatEmbeddedServletContainerFactory) {
            ((TomcatEmbeddedServletContainerFactory) container)
                    .addConnectorCustomizers((connector) -> {
                connector.addUpgradeProtocol(new Http2Protocol());
            });
        }
    };
}




下图是测试机,电子秤已经被硬件小哥大卸八块了


程序汪10万接的垃圾回收小程序,开发2个月-8.jpg

这是部分硬件负责通讯,太细节到原理程序汪也不会分析来



后端系统

PC端后台主要是这些功能






程序汪10万接的垃圾回收小程序,开发2个月-12.jpg

程序汪10万接的垃圾回收小程序,开发2个月-13.jpg

DB的设计我分享一个订单表出
支持以下语言种类:
-- ----------------------------
-- 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.待结单3.等待送达4.完成5.已评价6.取消7.拒绝8.退款中9.已退款10.退款拒绝',
  `time` varchar(20) NOT NULL COMMENT '下单时间',
  `pay_time` varchar(20) NOT NULL COMMENT '支付时间',
  `jd_time` varchar(20) NOT NULL COMMENT '接单时间',
  `cancel_time` varchar(20) NOT NULL COMMENT '取消时间',
  `complete_time` varchar(20) NOT NULL COMMENT '完成时间',
  `money` decimal(10,2) NOT NULL COMMENT '付款金额',
  `box_money` decimal(10,2) NOT NULL COMMENT '餐盒费',
  `ps_money` decimal(10,2) NOT NULL COMMENT '配送费',
  `mj_money` decimal(10,2) NOT NULL COMMENT '满减优惠',
  `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.店内3.预定4.当面付',
  `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 '区域',
  `lat` varchar(20) NOT NULL COMMENT '经度',
  `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 '发货formid',
  `code` varchar(100) NOT NULL COMMENT '支付code',
  `order_type` int(11) NOT NULL COMMENT '1.配送2.到店自取',
  `delivery_time` varchar(20) NOT NULL COMMENT '送达时间',
  `sex` int(11) NOT NULL,
  `discount` decimal(10,2) NOT NULL,
  `tableware` int(11) NOT NULL COMMENT '餐具',
  `dd_info` text NOT NULL COMMENT '达达信息',
  `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;
如果想要更换代码主题,可在上方挑选,不支持代码主题自定义。

程序汪这里有很多私活团队,其实都是我的粉丝转换的,大家有其他私活的项目需要合作共赢的 欢迎加我微信 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分享给大家参考学习下
链接: https://pan.baidu.com/s/1SrHO-FyPnKHvaxFp4a_4uA  密码: ih5t


  • 程序汪接的7个私活都在这里,经验整理

点下方原文链接观看B站视频版本

-----------------------------
精选高品质二手iPhone,上爱锋贝APP

0

主题

54

帖子

3

积分

Rank: 1

发表于 2022-9-25 05:58:08 | 显示全部楼层
我随便把矿泉水瓶装点水,是不是就更重了
精选高品质二手iPhone,上爱锋贝APP

0

主题

33

帖子

2

积分

Rank: 1

发表于 2022-9-25 07:47:25 | 显示全部楼层
分类还是要依靠使用者的自觉来具体进行投放咯。建议直接加入垃圾识别功能,丢错了扣积分哈哈哈。
精选高品质二手iPhone,上爱锋贝APP

0

主题

53

帖子

3

积分

Rank: 1

发表于 2022-9-25 09:45:56 | 显示全部楼层
二期项目的内容,干嘛一期就开发哦
精选高品质二手iPhone,上爱锋贝APP

0

主题

46

帖子

-4

积分

发表于 2022-9-25 10:46:10 | 显示全部楼层
我就寻思目前产品不太完整,还有后面的完善那也挺好的嘞!
精选高品质二手iPhone,上爱锋贝APP

0

主题

51

帖子

3

积分

Rank: 1

发表于 2022-9-25 12:40:48 | 显示全部楼层
微擎后台  有版权风险吧
精选高品质二手iPhone,上爱锋贝APP

0

主题

49

帖子

3

积分

Rank: 1

发表于 2022-9-25 14:05:48 | 显示全部楼层
小程序源码和后端SQL分享给大家参考学习下

链接: https://pan.baidu.com/s/1SrHO-FyPnKHvaxFp4a_4uA 密码: ih5t

打开失败呀
精选高品质二手iPhone,上爱锋贝APP

0

主题

41

帖子

6

积分

Rank: 1

发表于 2022-9-25 15:46:46 | 显示全部楼层
私信我
精选高品质二手iPhone,上爱锋贝APP
您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

QQ|Archiver|手机版|小黑屋|爱锋贝 ( 粤ICP备16041312号-5 )

GMT+8, 2024-12-1 01:03

Powered by Discuz! X3.4

© 2001-2013 Discuz Team. 技术支持 by 巅峰设计.

快速回复 返回顶部 返回列表