当前位置: 首页 > news >正文

建设银行官方网站广州wordpress开启子域名多站

建设银行官方网站广州,wordpress开启子域名多站,做网站可以把文字做成图片吗,企业定制app1.背景需求 目前家里燃气度数的读数上报#xff0c;每个月在社区微信群里面将手机拍摄的燃气表读数截图#xff08;加住址信息水印#xff09;#xff0c;发到群里给抄表员。 2.总体设计 设计目标 功能一#xff1a;手机上随时可以远程采集读数图片#xff08;自动加住…1.背景需求 目前家里燃气度数的读数上报每个月在社区微信群里面将手机拍摄的燃气表读数截图加住址信息水印发到群里给抄表员。 2.总体设计 设计目标 功能一手机上随时可以远程采集读数图片自动加住址信息水印在微信上发送给社区抄表员。 功能二每小时采集一次统计燃气每日使用状况对使用情况进行分析和预警由于OCR还需要进一步提升识别能力暂不实现。 功能三燃气漏气检测因测试有一定危险暂不实现。 3.采集系统 使用树莓派部署Docker环境。 3.1 功能描述 接收管理服务器实时采集请求实现燃气表拍照的采集上报摄像头采集之前要自动打开小夜灯照明厨柜内较黑拍不清楚。 3.2 容器环境配置 3.2.1 Dockerfile文件 FROM ubuntu:latest ENV LANG C.UTF-8 ENV DEBIAN_FRONTEND noninteractiveRUN apt-get update RUN apt install -y openssh-client openssh-server RUN apt-get install -y wget curl git telnet vim make gcc RUN apt-get install -y python3 python3-pip libpcre3 libpcre3-dev python3-opencvRUN echo PermitRootLogin yes /etc/ssh/sshd_config RUN echo Port 8422 /etc/ssh/sshd_config RUN echo root:cw | chpasswd RUN mkdir /var/run/sshdEXPOSE 8422RUN apt clean \ rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp* \ RUN apt autoremoveWORKDIR /tmp RUN apt-get update RUN apt-get upgrade -y RUN apt install -y libusb-1.0-0-dev RUN git clone https://github.com/mvp/uhubctl WORKDIR /tmp/uhubctl RUN make make installRUN pip3 install paho-mqtt pytest-shutil requests -i https://pypi.mirrors.ustc.edu.cn/simple/ WORKDIR /home CMD [/usr/sbin/sshd,-D]3.2.2 docker-compose.yaml文件 version: 3.0 services:#燃气采集设备端#docker exec -it gas_meter_reading_t /bin/bashgas_meter_reading_t:build: .image: gas_meter_reading:v1container_name: gas_meter_reading_tworking_dir: /home # devices: # - /dev/video0:/dev/video0ports:- 8422:8422volumes:- ./home:/homerestart: alwaystty: trueprivileged: true3.3 代码样例 3.3.1 控制USB小夜灯代码样例 #uhubctl 控制 usb 的供电情况然后控制灯的状态 #控制命令sudo uhubctl -l location -p port -a off #location是USB集线起的位置port是USB编号off关闭on打开 uhubctl --help uhubctl -l 2 -p 1 -a off uhubctl -l 2 -p 1 -a on3.3.2 摄像头拍摄代码样例 import cv2 as cv cap cv.VideoCapture(0) if cap.isOpened():_, frame cap.read()farm cv.resize(frame, dsize (1080,1080) )cv.imwrite(r/20231020/220301.jpg,farm)4.管理系统 系统环境要求LINUX系统支持Docker环境。 4.1 容器环境配置 4.1.1 Dockerfile文件 FROM ubuntu RUN apt update RUN apt upgrade -y RUN apt install -y wget libgl1 libglib2.0-dev python3 pip curl inetutils-ping graphicsmagick# Install nvm RUN apt install -y git RUN git clone http://github.com/creationix/nvm.git /root/.nvm; RUN chmod -R 777 /root/.nvm/; RUN bash /root/.nvm/install.sh; RUN export NVM_DIR$HOME/.nvm; RUN echo [[ -s $HOME/.nvm/nvm.sh ]] . $HOME/.nvm/nvm.sh $HOME/.bashrc;RUN bash -i -c nvm install 16 RUN bash -i -c npm install -g pnpmCMD [/bin/bash]4.1.2 Dockerfile_OCR FROM ubuntu RUN apt update RUN apt upgrade -y RUN apt install -y wget libgl1 libglib2.0-dev python3 pip curl inetutils-ping graphicsmagick# Install nvm RUN apt install -y git RUN git clone http://github.com/creationix/nvm.git /root/.nvm; RUN chmod -R 777 /root/.nvm/; RUN bash /root/.nvm/install.sh; RUN export NVM_DIR$HOME/.nvm; RUN echo [[ -s $HOME/.nvm/nvm.sh ]] . $HOME/.nvm/nvm.sh $HOME/.bashrc;RUN bash -i -c nvm install 16 RUN bash -i -c npm install -g pnpmCMD [/bin/bash]4.1.3 docker-compose.yaml version: 3.3 services:#Gas meter reading platform:燃气采集平台#docker exec -it gmrplat_t /bin/bashgmrplat_t:build: .image: gmrplat:v1volumes:- ./home:/homecontainer_name: gmrplat_tports:- 8477:8477- 8488:8488restart: alwayscommand: /bin/bashtty: truenetworks:back_net:ipv4_address: 172.77.1.5#百度AI/图像识别#docker exec -it paddle_ocr_t /bin/bash paddle_ocr_t:container_name: paddle_ocr_tbuild:context: ./dockerfile: Dockerfile-OCRimage: gmr_paddle_ocrvolumes:- ./PaddleOCR:/PaddleOCRtty: trueprivileged: truerestart: alwayscommand: /bin/bashnetworks:back_net:ipv4_address: 172.77.1.6#开源物联网MQTT服务器(https://www.emqx.com/)#初始用户名密码admin/public#docker exec -it emq_t /bin/bashemq_t:container_name: emq_timage: emqx/emqx:5.3.0ports:- 1883:1883- 8083:8083- 8084:8084- 8883:8883- 18083:18083restart: alwaystty: truenetworks:back_net:ipv4_address: 172.77.1.7#开源数据库,兼容MYSQLmariadb_t:container_name: mariadb_timage: mariadbenvironment:- MYSQL_ROOT_PASSWORDcjy- MYSQL_DATABASEgmrplat- MYSQL_USERcjy- MYSQL_PASSWORDcjyrestart: alwaysnetworks:back_net:ipv4_address: 172.77.1.8#数据库WEB后台管理phpmyadmin_t:container_name: phpmyadmin_timage: phpmyadmin:5.2-apacheports:- 4090:80environment:- PMA_ARBITRARY1- PMA_HOST172.77.1.8- PMA_PORT3306- PMA_USERroot- PMA_PASSWORDcjyrestart: alwaysnetworks:back_net:ipv4_address: 172.77.1.9#自定义容器网络 networks:back_net:ipam:driver: defaultconfig:- subnet: 172.77.1.0/244.2 图像识别系统 百度开源AI:https://github.com/PaddlePaddle/PaddleOCR 照片OCR识别样例代码 from paddleocr import PaddleOCR, draw_ocr ocr PaddleOCR(use_angle_clsTrue, langen) img_path ./ppocr_img/imgs/11.jpg result ocr.ocr(img_path, clsTrue) for idx in range(len(result)):res result[idx]for line in res:print(line)4.3 远程抄表前台系统 主要代码不是全部。 script setup import { ref } from vue import weui; import axios from axios;async function get_gmr_img() {console.log(get_gmr_img)try{let res await axios.get(/api/gmr_img_now);console.log(res);let result res.data;console.log(result);res await axios.get(/api/gmr_get_last_img);console.log(res);result res.data[0];console.log(result.img_name);const imgUrl http://58.212.21.66:8488/images/mask_ result.img_name;document.getElementById(gmr_img).src imgUrl}catch{console.log(请求失败);} } /scripttemplateimg idgmr_img src/favicon.ico classgmr_imgbutton classweui-btn weui-btn_primary clickget_gmr_img立即更新/buttondiv styletext-align:center; idactionsheet1 classweui_actionsheet_cell长按燃气表图片2秒转发给抄表员/div /templatestyle scoped .gmr_img {width: 100vw;height: 80vh; } /style4.4 远程抄表后台系统 CREATE TABLE gmrinfo (id bigint(12) NOT NULL,gather_time datetime NOT NULL DEFAULT current_timestamp(),img_name varchar(30) NOT NULL,img_ocr varchar(255) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci;const {promises:fs} require(fs); const moment require(moment); const Koa require(koa); const Router require(koa-router); const koa_static require(koa-static); const bodyParser require(koa-bodyparser); const mqtt require(mqtt); const axios require(axios); const knex require(knex); //https://knexjs.org/ const gm require(gm);const OCR_SERVER_IP 172.77.1.6 const OCR_SERVER_PORT 8466const MQTT_SERVER_IP 172.77.1.7 const MQTT_SERVER_PORT 1883const DB_SERVER_IP 172.77.1.8 const DB_USER cjy const DB_PWD cjy const DB_NAME gmrplatconst GMRPLAT_SERVER_PORT 8488const db knex({client: mysql2,connection: {host: DB_SERVER_IP,port: 3306,user: DB_USER,password: DB_PWD,database: DB_NAME,}, });const WWWROOT __dirname /public const IMGDIR WWWROOT /images///图像识别 const GMRToOCR async (imgfile) {const url http:// OCR_SERVER_IP : OCR_SERVER_PORT /GMROCRconst bitmap await fs.readFile(imgfile);const adata {request_id: 001,img_base64: }adata[img_base64] Buffer.from(bitmap).toString(base64);const res await axios.post(url, adata);console.log(res.data)console.log(res.data.ocr_res)return res.data }const client mqtt.connect(mqtt:// MQTT_SERVER_IP : MQTT_SERVER_PORT); client.subscribe(gmrdev/fixedtime)client.on(message, async (topic, payload) {console.log(Received Message:, topic);const base64EncodedfileData payload.toString();const fileDataDecoded Buffer.from(base64EncodedfileData,base64);const img_name moment(Date.now()).format(YYYYMMDDHHmmss);fs.writeFile(IMGDIR img_name .jpg, fileDataDecoded, err {})await gmr_add_img(img_name .jpg)gm(IMGDIR img_name .jpg).stroke(blue) //字体外围颜色.fill(blue) //字体内围颜色不设置默认为黑色.font(./AlibabaPuHuiTi-3-65-Medium.ttf, 60) //字库所在文件夹和字体大小.drawText(50,50, img_name \nXX街道X小区X幢X室).write(IMGDIR mask_ img_name .jpg, function (err) {if (!err) console.log(gm_ok);else console.log(err);});//const ocr_res await GMRToOCR(IMGDIR img_name .jpg); });const app_http new Koa() app_http.use(bodyParser());app_http.use(async (ctx, next) {await next();ctx.set(Access-Control-Allow-Origin, *);ctx.set(Access-Control-Allow-Headers, Content-Type);ctx.set(Access-Control-Allow-Methods, *); });app_http.use(koa_static(WWWROOT, {index: true, hidden: false,defer: true }))const gmr_add_img async (img_name) {console.log(gmr_add_img: img_name)await db(gmrinfo).insert({img_name: img_name}) }const gmr_img_now async (ctx) {console.log(gmr_img_now)client.publish(gmrplat/nowtime, now)ctx.body OK }const gmr_get_last_img async (ctx) {let result await db(gmrinfo).select([id, gather_time,img_name,img_ocr]).orderBy(id, desc).limit(1)console.log(result)ctx.body result }const router new Router(); router.get(/api/gmr_img_now, gmr_img_now); router.get(/api/gmr_get_last_img, gmr_get_last_img);app_http.use(router.routes());app_http.listen(GMRPLAT_SERVER_PORT, 0.0.0.0, () {console.log(服务启动:http://58.212.21.66:${GMRPLAT_SERVER_PORT}); })5.系统演示 配套代码
http://www.dnsts.com.cn/news/182899.html

相关文章:

  • 省交通建设质安监督局网站温州市建设工程质监站网站
  • 在手机上怎么赚钱seo优化技术
  • 西安市高新区建设局网站做网站的免费空间
  • aspx网站html静态化怎么做国家建设管理信息网站
  • 宜黄县建设局网站app界面设计包括哪几部分
  • 网站ipv6改造怎么做仅有网站做app
  • google cloud 永久免费关键词优化排名易下拉排名
  • 移动网站建设cnfg做电影网站大概要多少钱
  • 最专业网站建设公司首选免费机械加工网
  • 山东建设厅网站网址近期的新闻热点
  • 室内设计和网站建设哪个前景好网站推送
  • 我有域名怎么做网站免费自助站制作在线
  • 北京网站建设知名公司排名网上购物哪个平台质量有保证
  • 电子商务网站后台模板有啥方法下载wordpress主题
  • asp.net网站改版 旧网站链接什么是网站设计
  • 手机网站怎么做域名解析做网站所需的知识技能
  • 建设二手网站的建设费用包括wordpress函数大全
  • 图文型官网站网站数据库清空
  • 西安seo优化培训机构优化公司治理
  • 建立网站地图营销型企业网站建设规划探讨
  • 做宣传类网站需要什么资质域名数和网站数
  • 电商网站开发团队网站升级方案
  • 网站会员充值做哪个分录it行业培训机构一般多少钱
  • 杨凌网站建设推广杭州seo全网营销
  • 南京网站制作哪家专业wordpress 模版开发
  • 珠海网站建设公司有哪些优化wordpress
  • 如何防止网站攻击专业的网站建设价格
  • 如何做网站联盟营销网线制作的过程
  • 专业网站制作哪专业怎么制作一个网站销售平台
  • 使用阿里云建网站公司页面图片