自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

湖工电气的博客

每天学一点,生活更美好。

  • 博客(247)
  • 资源 (2)
  • 论坛 (4)
  • 收藏
  • 关注

原创 (二十九)树莓派3B+ 获取BH1750FVI光强度传感器数据

这个模块是几年前淘宝买的,找出来,发现还能使用,就找找资料玩了一下。产品介绍BH1750FVI 是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。(1lx-65535lx)产品特点支持 I2C BUS 接口(f/s Mode Support)。接近视觉灵敏度的光谱灵敏度特性(峰值灵敏度波长典型值:560nm)。输出对应亮度的数字值。对应广泛的输入光范围(

2020-11-19 10:30:40 37

原创 (二十八)树莓派3B+ Node.js硬件SPI驱动Nokia5110液晶

前言在以前用wiringPi写过驱动Nokia液晶的例子《(十六)树莓派3B+ wiringPi库的使用–硬件SPI驱动NOKIA5110液晶》。现在使用的是Node.js驱动这个显示屏。简介Nokia5110液晶屏现在买到的都是之前Nokia5110手机的拆机屏幕,液晶驱动芯片是PCD8544。1.液晶屏原理图结合实物看,这个液晶屏的对外接口都是很简单的。2.PCD8544芯片特征单芯片 LCD 控制/驱动48 行,84 列输出显示数据 RAM 48*84 位芯片集成:——L

2020-11-11 15:12:27 23

原创 (二十七)树莓派3B+ 获取ADXL345加速度计的数据

简介在之前的文章中,介绍了MPU6050《12.树莓派3B+ MPU6050 两轴姿态显示》和HMC5883L《14.树莓派3B+ 获取HMC5883L的磁场数据》。这里的ADXL345又是IIC的操作,是代码没什么区别,就是每个传感器芯片的寄存器的差异和数据转换问题。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率 高(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用 中

2020-10-28 14:06:34 111

原创 (二十六)树莓派3B+ 获取HMC5883L的磁场数据

模块介绍霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。HMC5883L 包括最先进的高分辨率 HMC118X 系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在 1°~2°的 12 位模数转换器.简易的 I2C 系列总线接口。HMC5883L 的所应用领域有手机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统。HMC5883L 采用霍尼韦尔各向异性磁阻(AMR)技术,该技术的优

2020-10-13 10:55:59 47

原创 (二十五)树莓派3B+ MPU6050 三轴姿态显示

在上一篇中《12.树莓派3B+ MPU6050 两轴姿态显示》,是直接读取MPU6050的数据然后显示的,抖动很大,后来加了平均值滤波效果好了很多,但是还是获取不到Z轴的数据。后来发现可以通过四元数法获取到Z轴的数据,自己也试验过,发现Z轴的数据在不断的变化,并不稳定。也了解了一些DMP这个运动处理库,发现直接这个就可以获取到X、Y、Z三轴的角度,可是js并没有这个库,原库是C写了。但是发现网络还是有牛人,直接C和Node.js混编,搞出来了。但是在使用之前需要静置一段时间(我设置的是20s)获取误差值,然

2020-09-17 10:55:46 150

原创 (二十四)树莓派3B+ Node.js驱动MPU6050

在之前的博客中写过MPU6050模块。(十四)树莓派3B+ wiringPi库的使用–硬件IIC驱动MPU6050之前使用的wiringPi和C语言写的,现在使用Node.js操作一下。关于电路连接和MPU6050模块的介绍,这里不做说明,大家自行查看之前的文章或者百度。树莓派驱动MPU6050var i2c = require('i2c-bus');// MPU6050 寄存器var PWR_MGMT_1 = 0x6B, PWR_MGMT_2 = 0x6C, SMPLRT_DIV = 0x

2020-09-09 11:24:10 40

原创 (二十三)树莓派3B+ 驱动蜂鸣器播放《茉莉花》

在上一篇(十二)树莓派3B+ node-rpio库的使用–硬件PWM中已经介绍了树莓派的PWM的使用。这里实际就是在上一个的基础之上的一个应用。需要一些关于简谱和蜂鸣器的基本知识了。1.简谱相关知识简谱是指一种简易的记谱法。有字母简谱和数字简谱两种。数字简谱以可动唱名法为基础,用1、2、3、4、5、6、7代表音阶中的7个基本级,读音为do、re、mi、fa、sol、la、ti(中国为si),英文由C、D、E、F、G、A、B表示,休止以0表示。每一个数字的时值名相当于五线谱的4分音符。一般来说,所有音

2020-08-21 10:40:57 121

原创 Egg.js (六) MySQL的使用

安装MySQL在 Web 应用方面 `MySQL` 是最常见,最好的关系型数据库之一。非常多网站都选择 MySQL 作为网站数据库。egg-mysql框架提供了 egg-mysql 插件来访问 MySQL 数据库。这个插件既可以访问普通的 MySQL 数据库,也可以访问基于 MySQL 协议的在线数据库服务。安装与配置安装对应的插件 egg-mysql :$ npm i --save egg-mysql开启插件// config/plugin.jsexports.mysql = {

2020-08-17 14:22:30 153

原创 小猿猪哥 简介

每天学一点,生活更美好。获取最新博文和联系我,请关注我,谢谢!。

2020-08-07 17:00:33 51

原创 (二十二)树莓派3B+ 部署vue网页项目且外网访问

最近高仿了一下手机网页端的华为商城项目。由于之前的阿里云服务器、域名都过期了,就一直寻思着怎么部署这个项目。刚好想到了家里还有树莓派,一直在吃灰中就拿出来用用了。准备项目准备项目的细节这里不做说明,大家有需要的可以自行下载查看git地址:https://gitee.com/hgdq/vmail.git,dist目录是我已经打包好了的,部署使用这个目录即可。树莓派 安装git树莓派安装git,可以看我之前的文章:Ubuntu 安装git和配置ssh(Coding实例)sudo apt-get upd

2020-08-05 19:31:58 229

原创 Egg.js (五) 发送POST请求和获取参数

在Egg.js (四) httpclient模块的使用 微信小程序获取用户openid写到的实际是以一个示例来发送GET请求。在Egg.js (二) GET和POST请求这里是自己写GET和POST请。这里还是多看文档:https://eggjs.org/zh-cn/basics/controller.htmlhttps://eggjs.org/zh-cn/core/httpclient.html下来还是以一个实例还写下发送POST请求。Controller中实现async showapi()

2020-07-24 09:54:49 1141

原创 Egg.js (四) httpclient模块的使用 微信小程序获取用户openid

以前的文章中写过微信小程序获取用户openid的。《微信小程序开发(四)获取用户openid》。当时的后端框架用的是Express,请求工具用的request。这次还是同样的主题,只是后端框架使用的Egg.js,请求工具用的自带的httpclient模块。业务流程上没什么差异,这里也不做两个框架和模块的差异对比,只是以一个实际的场景使用来展示。httpclient模块介绍小程序开发文档先仔细看看文档。后端代码'use strict';const Controller = require('e

2020-07-17 14:23:56 204

原创 Egg.js (三) 文件上传 阿里云OSS

在三年前前也写过关于阿里云OSS上传的,但是当时使用的Express。Node.js阿里云OSS文件上传这次使用的Egg.js,在实际操作中也发现阿里云OSS的文档和官网操作有了一些变化了。在下面的操作需要有先看看如下文档:Egg.js-获取上传的文件对象存储 OSS > SDK 参考 > Node.js对象存储 OSS > 开发指南 > 访问域名(Endpoint) > 访问域名和数据中心egg-multipart在 config/config.default

2020-06-18 10:05:04 350

原创 Egg.js (二) GET和POST请求

在看这个之前还是需要先看文档:https://eggjs.org/zh-cn/basics/router.htmlhttps://eggjs.org/zh-cn/basics/controller.html这里我所做的也就是一个文档的搬运工再根据自己的需求整理了一下而已。在之前的Node.js系列博客中都是用的Express,这次使用Egg.js之后明显感觉简洁多了。GET请求参数获取方式一:'use strict';const Controller = require('egg').Co

2020-06-16 10:26:07 311

原创 mpvue 开发微信小程序

最近一段时间公司在做一个直播的微信小程序。由于是两个部门的前端一起合作开发这个小程序。项目框架也是之前他们搭建的,所以我们这边就只能依着他们的继续开发下去了。框架选型是mpvue。其实早在18年就知道这个mpvue也听之前使用的同事说过这个。现在是自己亲自使用,个人感觉真没必要使用这个开发小程序。理由如下:都会vue了,再上手小程序其实很简单了。之前17年初,我就是这样开发可好几个小程序,现在小程序API、组件、开发工具很强大了,没必要在使用其他的。开发效率,可能还低。可能在我这就是这样的。在vsco

2020-06-15 10:05:57 188

原创 Egg.js (一) 新建第一个项目

原由之前的《Node.js 学习记录》采用的Express,由于年久失修,项目启动都有问题了。所以也懒得再去维护和新增功能了。加之最近两年使用antd比较多,上面的Egg.js也有所接触,所以觉得就以这个为基础新建项目玩玩。看文档做了这么多年的开发,遇见问题之前先看文档,没有为什么。https://eggjs.org/zh-cn/intro/quickstart.html也不要像个萌新那样,不懂也不知道差,看视频的。先看看文档再想想,思路就清晰了。新建项目https://eggjs.org/zh

2020-06-12 10:04:32 136

原创 (二十一)树莓派3B+ 阿里云IOT的接入 Node.js SDK RPC API调用

在上一篇 《(二十)树莓派3B+ 阿里云IOT的接入 Node.js SDK》介绍了使用阿里云IOT的Node.js SDK控制设备。这里其实也是使用SDK开发。阿里云的文档地址:https://help.aliyun.com/document_detail/57342.html云端API文档地址:https://help.aliyun.com/document_detail/30559.html安装阿里云Node.js SDK完成以下操作安装Node.js SDK:从GitHub下载所需产品的S

2020-05-28 20:55:19 133

原创 (十九)树莓派3B+ 接口控制LED

var express = require('express');var router = express.Router();var rpio = require('rpio');var LED_PIN = 29;rpio.open(LED_PIN, rpio.OUTPUT,rpio.LOW);// 打开LEDfunction turnOn() { rpio.write(LED_PIN, rpio.HIGH);}// 关闭LEDfunction turnOff() { rpio.w

2020-05-26 09:12:49 122

原创 (二十)树莓派3B+ 阿里云IOT的接入 Node.js SDK

树莓派这个系列文章没有 七 和 十九 我也很无奈,有需要的可以 私聊我。其实树莓派接入阿里云真的很简单的,仔细看阿里云的相关文档即可。下面列举下必须看的(如果你不是使用Node.js 可以忽略)入门教程接入物联网平台设备开发引导Node.js SDK当然所有的文章都在这里:https://help.aliyun.com/product/30520.html安装 Node.js SDK将SDK安装到Nodejs项目所在目录: npm install alibabacloud-iot-dev

2020-05-17 15:20:09 225

原创 (七)树莓派3B+ 访问树莓派

上周都是把树莓派带到公司玩,这个确实不怎么好。 就一直在想怎么可以访问放在宿舍的树莓派。网上有很多方法。我还是选择了花生壳做,这个简单。花生壳的购买购买地址:https://www.oray.com/activity/140902/?icn=oray_140902&ici=hsk_home-grid 我购买的是个人体验版本: 注册账号注册地址:https://conso...

2020-05-17 14:43:03 2895 2

原创 Node.js之child_process的实践码云WebHooks

缘由最近一个朋友说想做一个APP的壳子,里面嵌套H5的页面。 所以我就帮他搞了,APP的壳子找的安卓的同事写的,H5的页面的web 服务帮他搭建好了。但是又不能因为H5的页面代码更新要我每次去服务器上拉去代码,所以就像,能不能在每次提交代码之后就自动拉去代码。这里就是WebHooks的使用了。其实在很早就知道这个东西,只是一直没实践过。这次实践之后发现实现功能还是很简单的,下面就记录下来。码...

2020-01-08 15:23:04 74

原创 export async/await 的实践

之前在使用axios的时候都是封装成async/await的形式去调用,《react axios的使用 封装async/await》《vue 开发axios的封装async/await》。下面的代码和上面的息息相关。需求现在遇见这个一个问题,就是有一个接口需要在很多和页面调用,涉及到多人开发,不可能每个人的页面都去写一次,那么这里就需要再次的封装一下了。封装新建一个testRequ...

2019-12-24 11:38:04 1665

原创 Node.js excel转json

这个是8月初做的,之前公司项目需要国际化,在项目本地会有两份json数据,一个中文的一个英文的,但是公司产品经理提供的数据是excel格式,需要我们自己转一次。最初几次数据量不大,一次50条左右,我都是手动的添加了几次,后来发现不行,每次这么 搞容易出错且比较耗时,就写了这么一个工具,使用起来效率倍增,启动运行一下这个项目,然后粘贴复制即可。其实使用Node.js 把excel转成json很简单...

2019-09-10 08:17:20 239 1

原创 react 国际化 react-intl-universal

7月底开始,公的要把之前的一个项目增加国际化的需求。现在基本做完了,在转测阶段,就把之前的东西记录一下。效果图react-intl-universal包由于项目是react的,所以使用的是react-intl-universal。其实这个npm包的使用还是很简单方便的。具体实现看过我之前的文章的同学,估计知道我之前的页面结构和代码。在国际化之前我适当的修改了一下。但是展示的结构不变。实...

2019-08-08 10:20:41 3025

原创 postMessage的使用,跨window交互

在这个月初的项目中,有这么一个需求,就是react页面和内嵌的iframe页面之间存在通信。期初这个需求还不知道怎么实现,后来经过百度,发现了postMessage,是可以实现的。现在做一个简单的小结:1.什么是postMessage,MDN-postMessage2.发送消息:const ruleIframe = document.getElementById('ruleIframe'...

2019-07-25 15:27:08 1029

原创 react 小结

其实有前面的9篇关于react 的文字,基本上就已经可以开发react项目了。关于项目的部署,这个和之前的vue基本一致,其实和vue也没啥关系,就是nginx的使用,如果是其他工具就是其他工具的使用。在近半年的开发中有如如下几点需要小结一下:react 中没有和vue中的各种指令,例如:列表循环vue: v-forreact: map()react 中没有全局的概念,vue中...

2019-06-23 09:13:19 271

原创 react 兄弟组件之间的传值

其实兄弟组件之间的传值,我这里做的是通过父组件做的中转,《react 父子组件之间的传值》,父子组件之间的传值可以看这个。效果图代码代码就不贴了,这里放出我的 git地址。https://gitee.com/hgdq/myblog.git...

2019-05-27 16:08:38 2148

原创 react 父子组件之间的传值

最近在做公司的项目用到了组件之间的传值,父子组件之间,兄弟组件之间的。今天有空就总结了一下,先记录下父子组件之间的传值。效果图页面其实很见到,为了演示效果,没做修饰。也是效果图count是父组件的state的一个属性;加按钮是父组件中的一个按钮;间按钮是子组件的一个按钮;父组件往子组件传值父组件代码:import React from 'react';import { Link...

2019-05-19 12:55:58 562

原创 react axios的使用 封装async/await

之前在vue中使用axios,《vue 开发axios的封装async/await》。这里其实就是把之前vue中封装的axios 移植过来的。基本没变。这里不再多说了。封装// 网络请求 可以使用 async/await// 引入 axiosimport axios from 'axios'// 测试地址// axios.defaults.baseURL = ''; // ...

2019-05-10 13:53:13 1831

原创 react Ant Design React的使用

在使用Ant Design的时候还没出对应的vue版本的,但是在写这个的时候早就出了vue版本的了,所有博客名字要加区分了。关于antd的使用先去看看在 create-react-app 中使用,如果有时间顺便把组件也都点进去看看。安装我使用的npmnpm install antd这个过程比较久,需要一点时间,如果出问题了就需要重来,需要一点耐心。代码中使用这个其实在上一篇《rea...

2019-04-22 16:22:28 215 1

原创 react react-router-dom的使用

继续之前的react。最近把之前的几篇关于react的博客整理了一下,也整了一个小Demo。关于react-router-dom,大家可以先去看看它的github。这里不做介绍。只说说新建项目怎么使用。新建项目《create-react-app 快速构建react项目》。可以先去看看之前的文章。安装react-router-domnpm install --save react-rout...

2019-04-17 14:10:55 1221

原创 react 你是否真的需要redux

从2018年12月19后以后就没有写博客了,一来是天气冷不行动手,二来是最近虽说有事但是真不知道写什么;其实就是自己变懒了。从2018年12月之后来开始,做的项目开始使用react了,没再使用vue。项目的前期准备工作不是我搞的。关于项目结构的好坏我不做评价。但是我意见最大的就是项目中使用了redux。这个也是今天的主题,是否真的需要redux?为什么会有这个项目本来这项目是不存在的。那么为...

2019-04-01 19:51:30 335

原创 react项目配置less

安装 lessnpm install --save less less-loader配置 webpack.config.dev.js在目录:node_modules/react-scripy/config/webpack.config.dev.jsconst cssRegex = /.(css|less)$/;const getStyleLoaders = (cssOptions...

2018-12-19 10:14:57 387 1

原创 react项目适配flexible

在开始之前我是参考这个做的:react项目的适配。我的在实际操作中会有点差异。安装flexiblenpm i lib-flexible --save 安装 postcss-px2remnpm i postcss-px2rem --save配置webpack.config.dev.js在目录中找到:node_modules/react-scripy/config/webpack.c...

2018-11-21 14:23:21 2263 2

原创 create-react-app 快速构建react项目

安装create-react-appnpm install -g create-react-app新建项目reate-react-app my-app运行项目cd my-appnpm start效果浏览器打开:http://localhost:3000/看见如下效果表示运行成功,至此新建项目成功。...

2018-11-20 10:13:43 209

原创 (十八)树莓派3B+ wiringPi库的使用--外部中断

搞过单片机的同学都知道,一般的单片机都有中断系统和外部中断。通过看树莓派的IC手册和WiringPi-Priority, Interrupts and Threads,可以发现树莓派也是具备的,且WiringPi还给我们通过了操作外部中断的函数。这里就介绍一下外部中断怎么使用。这个也是看WiringPi的文档和例子和自己多次试验测试之后发现的,官方文档和例子并不全面,这个不全面也导致我断断续续的搞...

2018-10-19 10:19:38 3869 2

原创 (十七)树莓派3B+ wiringPi库的使用--软件SPI驱动NOKIA5110液晶

在上一篇《 (十六)树莓派3B+ wiringPi库的使用–硬件SPI驱动NOKIA5110液晶》中介绍了使用树莓派的硬件SPI驱动NOKIA5110液晶屏幕。其实还可以软件驱动,这里我保存使用的引脚和程序功能和上一篇一致,就只需要修改两个函数。第一个数初始化管脚:// 初始化GPIO 端口void gpioInit(){ pinMode(LCD_DC,OUTPUT); pi...

2018-10-15 16:07:15 728

原创 (十六)树莓派3B+ wiringPi库的使用--硬件SPI驱动NOKIA5110液晶

在这篇文章《stm8 软件模拟IIC驱动PCF8563T,NOKIA5110液晶显示》中使用的是STM8的硬件SPI驱动的NOKIA5110液晶。现在手里有树莓派,刚好wiringPi库也有SPI接口,这次就使用硬件SPI驱动NOKIA5110液晶。NOKIA5110液晶介绍NOKIA5110液晶是拆机屏幕,84*48的分辨率,接口为串行SPI(SPI-百度百科)接口。关于这个的详细介绍可...

2018-10-11 09:44:10 3690

原创 (十五)树莓派3B+ wiringPi库的使用--超声波测距HC-SR04

之前八月节气回家找了一下之前大学自己买的各种电子模块,记得有超声波模块的,也找到了,是HC-SR04超声波模块。这个实验也是上个月就测试好了的。HC-SR04模块介绍这些模块介绍,我都是直接截图的说明书的。淘宝上买模块,很多店家都会附带资料下载地址的。HC-SR04模块原理图通过这个原理图,可以看出,其实模块内部也有一个STC11的单片机处理了的,这里也可以看出为什么上面的时序图那么...

2018-10-09 08:55:05 1220

原创 (十四)树莓派3B+ wiringPi库的使用--硬件IIC驱动MPU6050

使用之前在使用树莓派3B+和wiringPi之前希望你已经熟读了和他们相关的文档。http://wiringpi.com/reference/i2c-library/树莓派3B+的引脚图这张图可以清晰的查看每个引脚的功能。mpu6050模块电路图模块外观:模块的资料地址:http://pan.baidu.com/share/link?shareid=2384903480&am...

2018-09-20 16:33:09 3595

wiringpi用户手册

wiringpi用户手册,版本0.0.1。英文不好的可以看看中文的。这个文档还可以。

2018-08-23

OC写的一个书签管理的小项目

使用OC写的一个书签管理器的项目,具有增删该查排序的功能。

2015-07-22

湖工电气的留言板

发表于 2020-01-02 最后回复 2020-01-02

【iOS】UIPickerView -- 地址选择器:省/市/区

发表于 2016-02-20 最后回复 2016-09-08

【iOS】星星评分控件HGDQStars

发表于 2016-03-09 最后回复 2016-07-27

一个除了厕所没装有声摄像头的公司是一个怎样的公司?

发表于 2016-04-19 最后回复 2016-04-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除