<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>yycoding-记录编程点滴</title><description>.NET Developer,前微软最有价值专家(2012-2016)</description><link>https://www.yycoding.xyz/</link><pubDate>Sat, 18 Apr 2026 05:04:36 GMT</pubDate><copyright> ©2011-2026 yycoding.xyz</copyright><generator>Moonglade v12.9.1</generator><language>en-US</language><item><title>.NET Core IoT破解PS2通讯协议</title><link>https://www.yycoding.xyz/post/2020/9/15/net-core-iot-cracking-ps2-communication-protocol-for-raspberry-pi</link><description>之前使用315MHZ可以进行远程控制，但是那个只有4个按钮，理论上只能控制4个变量的输入，并且偶尔信号还会串，所以需要探索其他远程控制方式。
  PS2是Sony PlayStation2游戏机的遥控手柄，它采用的是2.4G无线通讯技术，有效控制范围能达到10米。恰好有人已经破解了通讯协议，使得手柄能够接到其他器件上遥控使用，比如这个叙利亚战场上使用PS2手柄控制的遥控机枪，我们这里只是简单的用在智能小车上，当然可以扩展到很多需要控制的地方，他的特点是性价比非常高（只要几十块钱就能买到一套山寨的控制器和接口，正版Playstation 2是不可能这个价格的，但是功能一点不差），而且按键丰富，方便扩展。
PS2手柄介绍

   PS2手柄和接收器如下图：

▲ PS2 手柄和接收器
   手柄，主要用来发送按键信息，接收器与主机相连（主机可以是树莓派，也可以是 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">8A370E26-643E-4B09-B527-48B1A83C9CD4</guid><pubDate>Tue, 15 Sep 2020 00:28:55 GMT</pubDate></item><item><title>.NET Core IoT使用TB6612FNG驱动直流电机</title><link>https://www.yycoding.xyz/post/2020/8/5/dotnet-core-iot-use-tb6612fng-to-drive-dc-motor</link><description> 
   在开发树莓派小车时，需要使用树莓派来控制直流电机，树莓派无法直接驱动直流电机，需要使用直流电机驱动芯片，最常见的有L298N，比如一般的TT马达用这个驱动就足够，但是如果是大功率电机，它的发热量和死区都比较大，因为我买的小车是大功率直流电机，所以使用的是TB6612FNG驱动芯片，它是东芝的芯片，能驱动两个直流电机，或者并联四个直流电机（左前和左后并联，右前和右后并联）。本文介绍如何使用TB6612FNG来驱动直流电机。
TB6612FNG驱动芯片

   TB6612FNG驱动芯片结构如下图：
▲ TB6612FNG结构图
     我买回来，实物是这样的，体积很小。
▲ 装车图
   针脚很多, 对照TB6612FNG结构图，各针脚功能如下。



左边针脚
功能
右边针脚
功能


PWMA
A电机控制信号输入
VM
电机驱动电压输 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">00D66101-01F5-480E-9F4B-A0CD3974B466</guid><pubDate>Wed, 05 Aug 2020 04:27:19 GMT</pubDate></item><item><title>树莓派4B安装Raspberry Pi OS系统遇到的问题和解决方法</title><link>https://www.yycoding.xyz/post/2020/7/28/problems-and-solutions-of-install-raspberry-pi-os-on-raspberry-4b</link><description>   在前面的一篇文章中，描述了如何在树莓派3b+上安装ubuntu 64位系统，因为官方还没有发布正式版的64位系统，所以只有安装第三方系统，但是开发过程中会碰到各种奇怪的问题，比如缺少rasp-config，需要自己安装；比如gpio权限问题，每次重启都要重新赋权；比如通过WIFI SSH登陆时时不时WIFI会断开不稳定；比如树莓派官方摄像头无法驱动等等。所以在做需要用到GPIO，摄像头这些硬件通信的时候，安装官方的树莓派系统。
   最近又买了一个树莓派4B，原因是树莓派3B+我在做驱动直流电机实验的时候，使用的是面包板的电源线改造来的，他的输出电压是12V1A，是个DC头，我买了个DC转换头，引出了正极和负极，然后连上杜邦线，当时这两根线是带电的，我在操作的时候，不小心正极碰到了树莓派3B+的电路板，当时就看到了有火花，虽然当时树莓派没通电，但悲剧依旧发生了，我的树莓派3B+永远 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">61F60DEC-9AA3-4A93-9F0A-6B2058475C1C</guid><pubDate>Mon, 27 Jul 2020 21:37:40 GMT</pubDate></item><item><title>.NET Core IoT 驱动SSD1306 I2C显示器</title><link>https://www.yycoding.xyz/post/2020/7/20/net-core-iot-ssd1306-i2c-oled-display</link><description>   本篇文章严重参考阿迪王的 Windows 10 IoT: How to Drive an SSD1306 I2C Display  这篇文章，我的传感器都是参照该博客来购买的。在进行以下实验时，最好保证树莓派安装的是官方系统。我之前安装的是64位Ubuntu 20系统，但是在需要访问I2C接口，或者访问树莓派官方摄像头，红外传感器发送和接受，以及本文的SSD1306显示时，总会遇到各种各样的问题。所以我重新将系统换成了官方32位系统以及32位.NET Core运行时，这对于Visual Studio开发来说没有变化，依旧发布后，拷贝到树莓派上即可运行，不需要关注32位或者64位。
 SSD1306 I2C OLED显示器

    SSD1306 I2C OLED显示器分辨率为128&amp;times;64，也叫12864屏，SSD1306为其显示驱动芯片，长这样，各位在购买传感器的 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">A3618696-2D0B-436A-AC2F-116E226E0C26</guid><pubDate>Mon, 20 Jul 2020 00:21:34 GMT</pubDate></item><item><title>.NET Core IoT 驱动 TM1637四位数码管</title><link>https://www.yycoding.xyz/post/2020/7/19/net-core-iot-tm1637-4-digital-led-tube</link><description>   买了一个四位数码管，它长这样，有4个针脚，内部驱动芯片为TM1637，还有一种内部驱动芯片为74HC595，有5个针脚，千万要注意，不然就要996了，不过如果你买成了74HC585，可以参考阿迪王的这篇文章：

    说回TM1637，这个模块是一个12脚的带时钟点的4位共阳数码管，只需要2跟线号线即可使单片机控制4位8段数码管，并且亮度8级可调。
接线

 

    接线如上图，VCC接5V，GND接GND，CLK接GPIO19，DIO接GPIO26。显示是通过时钟CLK和DIO共同控制。
    新建TLEDTM1637Driver类，用来封装显示模块，代码如下：
public class LEDTM1637Driver : IDisposable
{
    private byte[] Characters = { 0x3f, 0x06, 0x5b, …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">FC045B7B-4CF1-4C51-ADFE-E25F34AAEC56</guid><pubDate>Sat, 18 Jul 2020 19:36:35 GMT</pubDate></item><item><title>.NET Core IoT 315MHz 遥控器</title><link>https://www.yycoding.xyz/post/2020/7/19/net-core-iot-315mhz-remote-control</link><description>   我买了一个 315MHz 无线遥控收发模块，这种还有433MHz的。有了它你就可以进行各种遥控操作，比如可以用它遥控开启你家车库的门，停车库里的车位上的地锁（我估计也是这种，便宜稳定），可以用来遥控树莓派小车等，它长这样：

▲ 是不是觉得这遥控器，又丑又大😂

▲ 实际他跟车钥匙差不多,还挺精致的😁

▲ 还别说，这个遥控车钥匙的控制方式跟这个还挺类似，我看了下，他用的是434MHZ
   左边是接收器，右边是遥控器，这遥控器，实际上跟车钥匙差不多大。如果不放对比，你可能觉得这东西又丑又大，我一开始也这么认为，买到手之后发现不大，看起来还挺精致。十来块钱就能买到还挺不错的。
    左边的接收器，左上方ANT可以外接天线，板子上其实有个天线，我实测不外接天线，10米内仍然能接到信号。接收器上，从左到右依次接口为：

VT，输出，只要遥控器任何一个按钮按下， …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">9FF26F7C-513E-4D8E-800E-C9609D78A331</guid><pubDate>Sat, 18 Jul 2020 18:05:21 GMT</pubDate></item><item><title>.NET Core IoT 人体红外传感器</title><link>https://www.yycoding.xyz/post/2020/7/14/net-core-iot-hcsr501-body-sensor-module-on-raspberry-pi</link><description>     在前面的文章中，演示了如何通过GPIO的高低电平控制LED灯的亮起和熄灭，这篇文章介绍如何联动人体红外传感器来控制LED小灯的亮起和熄灭。
HC-SR501人体红外感应传感器

HC-SR501长下图这样，圆形的球是菲涅尔透镜.:

    有三个插脚，VCC接树莓派5V电源接口， GND接树莓派GND接口，OUT是输出接口，接树莓派的GPIO口，感应到人体后，输出高电平，否则输出低电平。有两种信号输出模式

L不可重复，表示感应输出高电平后，延时时间一结束,输出将自动从高电平变为低电平。
H可重复，表示感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,输出将一直保持高电平,知道人离开后才延时将高电平变为低电平。

    调节方式就是上图左下角的黄色跳线，拔下就可以选择H或者L，默认为H。
     这里由于传感器会向树莓派插口输出电压，尤其 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">05AB0DD5-FEF4-47B4-8E5E-817744FB106A</guid><pubDate>Tue, 14 Jul 2020 01:17:24 GMT</pubDate></item><item><title>.NET Core IoT  Blink小程序</title><link>https://www.yycoding.xyz/post/2020/7/12/net-core-iot-blink-app-on-raspberry-pi</link><description>    前面一篇文章说明了如何在Ubuntu上运行.NET Core程序，现在开始搭建第一个物联网小程序Blink。
配置GOPI接口权限 

    在开始访问GOPI时，需要设置树莓派的相关权限。一般都会告诉你使用使用sudo raspi-config命令，但是因为树莓派目前还没有正式版本的64位系统，我装的ubuntu，里面没有raspi-config，如果执行的话，会报Command Not found命令 ，所以需要安装相关模块，可以查看树莓派安装非官方系统没有raspi-config命令的解决方法。这篇文章。
   安装完成之后，执行如下命令：
ubuntu@ubuntu:~$ sudo raspi-config

就可以弹出主界面。

▲树莓派设置主界面

▲开启远程GPIO接口

开启之后,我们就可以开始针对GOPI编程了。
.NET Core代 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">85D178B9-0869-479C-8806-A58F9EF3118A</guid><pubDate>Sat, 11 Jul 2020 18:39:14 GMT</pubDate></item><item><title>树莓派3b+中安装64位ubuntu系统并设置.NET Core开发环境</title><link>https://www.yycoding.xyz/post/2020/7/5/install-64bit-ubuntu-and-setup-net-core-runtime-and-sdk-on-raspberry-pi-3b-plus</link><description>   很久之前买了一个树莓派3B+，放在那里吃灰😂，今天准备拿起来重新搞一下，一个是配置一下.NET Core开发环境，另外一个是玩一下.NET Core IoT。
▲ 树莓派3B+ 
 
在树莓派上安装64位Ubuntu 20.04

  因为树莓派从3B+版本开始，支持64位系统，但是在树莓派官方网站上只提供了64位的beta版本系统。如果你买的是树莓派4 2G以上版本，那么最好安装64位系统，这样能充分利用内存。所以目前要安装64位系统，只有Ubuntu和Gentoo。
   首先去Ubuntu官网下载针对Raspberry的64为系统。
   
下载下来的img文件，使用balenaEtcher工具烧录到树莓派的SD卡中。

使用Flash from file 选择img文件，中间选择树莓派的SD卡（需要读卡器），然后点击Flash！，烧录的过程中不要动读卡器 …</description><author>xjdx2008@126.com</author><category>Internet of Things</category><category>DotNet Framework</category><guid isPermaLink="false">AAC1887B-5680-42ED-8977-E91DE9DBBF7A</guid><pubDate>Sat, 04 Jul 2020 23:59:30 GMT</pubDate></item></channel></rss>