开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

「华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

ARM嵌入式存储器及半导体存储器

ARM嵌入式存储器及半导体存储器
刘太刚 发布于 2个月前 阅读 43

汇编语言-第二章 寄存器(CPU工作原理)

# 概述 一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连接。 内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。 >简单来说,在CPU中: >- 运算器进行信息处理 >- 寄存器进行信息存储 >- 控制器控制各种器件进行工作 >- 内部总线连接各种器件,在它们之间进行数据的传送 寄存器是CPU中程序员可以用指令读写的部件。程序员通过改变各种寄存器中的内容来实现对CPU的控制。 不同的CPU,寄存器的个数、结构是不同的。 # 2.1 通用寄存器 通用寄存器通常用来存放一般性的数据。 # 2.2 字在寄存器中的存储 出于对兼容性的考虑,8086CPU可以一次性处理两种尺寸的数据: >- 字节:记为byte,一个字节由8个比特(即二进制位)组成,可以存在8位寄存器中。 >- 字:记为word,一个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节。 # 2.3 几条汇编指令 # 2.4 物理地址 CPU通过地址总线送入存储器的必须是一个内存单元的物理地址。 在CPU向地址总线上发出物理地址之前,必须在内部先形成这个物理地址。 不同的CPU可以有不同的形成物理地址的方式。 # 2.5 16位结构的CPU >16位结构的CPU具有下面几方面的结构特...
Frost729 发布于 4个月前 阅读 439 评论 1

STM32 端口复用&重映射(USART Remap)

下面跟大家说一下STM32单片机的端口重映射,因为是以自己为实例.这里是以USART1的重映射为例..         因为我要一个TFT_LCD屏的主控板,考虑到FSMC 我选用了STM32F103VCT6 型号的CPU,一不小心串口接到USART1上了.因为在调程序时才发现错了,没得办法,只能通过端口重映射来解决.但是以前没用过端口重映射,只闻其名,未用其身,所以..呵呵 ...只能从头去看了.          STM32上有很多I/O口,也有很多的内置外设想I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处就是:很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的.读到这里相信大家都应该了解了端口重映射的一些概念了.原理上的东西不细说了,大家可以看手册或者网上查,这方面的资料还是很多的.下面说说我的调试经历.         不知道是什么原因 PCB制图时把串口接到USART1上了,当时也没在意,等我把USART测试程序写好烧进去硬件仿真时,串口给的是乱码,我当时就觉得奇怪.把程序检查了好几遍就是查不出问题来,以为是硬件有问题,但突然想到了STM有复用功能,...
冷夜杀手 发布于 6个月前 阅读 123

树莓派设置开机自启动的两种方式

可通过两种方式来设置树莓派的开机自启动 一、配置rc.local文件设置树莓派开机启动项 编辑/etc/rc.local文件 sudo vi /etc/rc.local 在文件中的 exit 0 之前添加需要执行的程序,注意要使用绝对路径,如下 python python /home/pi/example.py & exit 0 特别注意,如果程序是阻塞的,则须加上  &   符号以在后台运行,否则系统无法启动 重启系统,就可以生效了 sudo reboot 二、新建desktop文件设置树莓派开机启动项 这种方式类似于Windows系统的“开始”菜单中的“启动”项,操作方法如下: 在 /home/pi/.config 下创建一个文件夹,名称为 autostart mkdir /home/pi/.config/autostart 在该文件夹下创建一个xxx.desktop文件,文件名以.desktop结尾,名称可自定义,文件的内容如下: [Desktop Entry] Name=example Comment=My Python Program Exec=python /home/pi/example.py Icon=/home/pi/example.png Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true 该文件中的Name、Comment、Icon分别表示这个启动项目的名称、备注以及显示的图标,具体的值可自行设定;Exec表示调用的指令。 重启系统,就可以生效了 ...
雪饼 发布于 6个月前 阅读 78

浅谈NFC、RFID、红外、蓝牙的区别

很多朋友对NFC和RFID这两个词感到陌生,但是手机经常会出现支持NFC支付,又没太在意,NFC与RFID其实是手机支付的种方式(手机支付也被称作移动支付,是一种允许移动用户使用其移动终端对所消费的商品或服务进行账务支付的服务方式)。   1   NFC手机支付   NFC英文全称Near Field Communication,近距离无线通信。是由飞利浦公司发起,由诺基亚、索尼等著名厂商联合主推的一项无线技术。NFC由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。这项技术最初只是RFID技术和网络技术的简单合并,现在已经演变成一种短距离无线通信技术,发展态势相当迅速。   NFC芯片装在手机上,手机就可以实现小额电子支付和读取其他NFC设备或标签的信息。NFC的短距离交互大大简化整个认证识别过程,使电子设备间互相访问更直接、更清楚。通过NFC,电脑、数码相机、手机、PDA等多个设备之间可以很方便快捷地进行无线连接,进而实现数据交换和服务。   支持NFC的设备可以在主动或被动模式下交换数据。在被动模式下,启动NFC通信的设备,也称为NFC发起设备(主设备),在整个通信...
失败人士 发布于 7个月前 阅读 510 评论 1

Docker是用来干什么的?【快速入门】

Docker从去年开始不仅能在Linux下运行 ,还支持windows、osX等主流系统。 下面的例子我自己经常使用,当然你有更好的案例也可以分享给我。 尝试新软件 对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵,正是得益于 Docker,让我们有可能在一条或者几条命令内就搭建完环境。Docker 有一个傻瓜化的获取软件的方法,Docker 后台会自动获得环境镜像并且运行环境。 并不仅仅是新技术环境搭建用得到 Docker。如果你想快速在你的笔记本上运行一个 MySQL 数据库,或者一个 Redis 消息队列,那么使用 Docker 便可以非常容易地做到。例如 Docker 只需要一条命令便可以运行 MySQL 数据库: docker run -d -p 3306:3306 tutum/mysql。 译者注:虽然使用命令也能非常快地安装 MySQL 数据库,但是当用到最新的技术或者非常复杂的技术时,使用 Docker 便会是个非常好的选择,例如 : 事件 普通用户 Docker用户 安装Gitlab 一天 一条命令 进行演示 现在我经常需要在周末用自己开发的成果对客户活着别人做一两个演示。搭建演示环境的过程非常麻烦。现在我发现 Docker 已经成为我演示这些工具的最合理的方式。 对...
失败人士 发布于 7个月前 阅读 430 评论 2 点赞 2

【码云周刊第 47 期】6个开源项目提升物联网开发效率

每周为您推送最有价值的开源技术内参!
码云Gitee 发布于 7个月前 阅读 2982 评论 4 点赞 2

借助 frp 随时随地访问自己的树莓派

看了一个[「树莓派」是什么以及普通人怎么玩?] 的高票回答,双十一时间,果断买了一个树莓派 3.周一(11.13) 到的货.我目前只想实现一个简单的功能 -- 想从任意位置访问我的树莓派. 就像一个潘多拉魔盒,第一步肯定是拿到钥匙!
ios122 发布于 7个月前 阅读 238 评论 2

2.树莓派3安装archlinux配置web、samba和aria2

本文永久更新地址:https://my.oschina.net/bysu/blog/1572517 archlinux一些常规配置,请看《1.树莓派3安装archlinux通用配置部分》 1.配置web服务(基于LAMP) 英文文档比较丰富:https://wiki.archlinux.org/index.php/Apache_HTTP_Server 1.1 先安装Apache、PHP pacman -Sy php php-apache php-gd 【上面命令会自动安装Apache、PHP】 先启动一下Apache看报什么错误 [root@alarm alarm]# apachectl AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::ba27:ebff:fe34:38d5. Set the 'ServerName' directive globally to suppress this message 配置apache: vi /etc/httpd/conf/httpd.conf 查找ServerName,会看到#ServerName www.example.com:80。把前面的注释#去掉,然后改成你自己的主机名,如果是本机可以改成: SeverName localhost:80 https://wiki.archlinux.org/index.php/Apache_HTTP_Server 在 /etc/httpd/conf/httpd.conf中找到下面这行,并注释掉: #LoadModule mpm_event_module modules/mod_mpm_event.so 找到下面这行,把前面的#去掉。 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so To ...
不最醉不龟归 发布于 7个月前 阅读 297

Jetson TX2 安装tensorflow

在Jetson TX2上安装tensorflow,需要在源码编译,至少我看到现在的教程都是在源码上编译,编译的时间会很久.  源码编译安装tensorflow可以参考[我另外一个教程](https://my.oschina.net/u/1046919/blog/1154302),这里主要说一些注意要项. ---- **bazel和tensorflow** bazel 和tensorflow的版本注意不要太高,我这里就是bazel和tensorflow的版本选的太高,导致安装完出现问题,虽然不知道是不是依赖没有打完整的缘故,但是在这里还是建议选择低一些的版本. 我这边选择的是bazel-5.4,tensorflow1.3 ---- **内存空间不足** 网上说编译tensorflow可能会出现内存空间不够用的情况,所以需要做一个交换文件,但是实际上我并没有碰到,但是还是记录一下 ``` #Create an 8GB swapfile fallocate -l 8G swapfile #Change permission of the swapfile chmod 600 swapfile #Create swap area mkswap swapfile #Activate the swap area sudo swapon swapfile # deactive the swap are sudo swapoff swapfile #Confirm swap area being used swapon -s ``` ---- **修改tensorflow/stream_executor/cuda/cuda_gpu_executor.cc** 在tensorflow/stream_executor/cuda/cuda_gpu_...
KyJason 发布于 8个月前 阅读 367

Freertos阅读笔记4~ Systick异常处理,任务调度流程

4 freertos任务调度源码分析 freertos之所以能够准确的按照配置的时间片进行任务调度完全依靠硬件支持。硬件上的某个计数器会提供周期性中断,在中断处理中解决任务调度 如:task1切换到task2,task2再切换到task1,如此循环往复,在外部就表现的如同多个任务在一起执行。 在CM3/CM4上有提供内部异常定时器:systick。使用systick作为实时系统的运行心脏再好不过,因为人家的名字就叫做系统滴答定时器,可谓门当户对。其它定时器也可以完成类似功能,因为freertos只关注能否提供周期中断,并不会在意中断产生着是白猫还是黑猫。使用systick的一个好处是在开发低功耗功能时它将不会受到影响。 在调度器启动之前已经使能了systick,systick中断发生后进入xPortSysTickHandler异常。在xPortSysTickHandler中没有发生任务切换,它只是利用xTaskIncrementTick函数处理了readylist与delaylist上的任务结点,需要进行任务切换时会交给pendSV来完成。 (调度器流程图)(拖动放大)   4.1 xTaskIncrementTick 在进入xTaskIncrementTick之前首先屏蔽了中断,防止发生中断嵌套破坏内核链表。 xTaskIncrementTick中率先自增了xTickCount。xTickCount能够准确表示systick发生了多少次...
橘子O 发布于 8个月前 阅读 145

深度解剖~ FreeRtos阅读笔记2 任务创建、内核链表初始化

2.FREERTOS任务创建、内核链表初始化 硬件环境:cortex m4 FreeRTOS版本:v8.0.1 今天开始阅读freertos,阅读同时做下笔记,等哪天碰到移植问题再翻出来看看。   2.1 任务、链表结构体 源码中使用tskTCB来存储一个任务的所有信息,xLIST存储内核链表数据。一个系统最基本的功能是它的任务调度,在任务切换时最重要的则是内核链表,用图描述下这两个结构体,这样看起来比代码更清晰。(TCB中有省略成员) (TCB结构体) -------------------------------------------------分割线---------------------------------------------------- (LIST结构体) 一个TCB中包含了两个xLIST_ITEM作为链表节点,操作xLIST_ITEM中的指针指向既为控制一个任务进出某个链表。相比xLIST_ITEM,在xLIST中使用了精简版的结点xMINI_LIST_ITEM。   2.2 xTaskGeneEricCreate 任务创建流程分析 xTaskGeneEricCreate 函数用来创建一个新任务,在调度器启动前和启动后都可以创建。 Freertos在调度器启动后至少会有一个任务(IDLE)处于准备调度状态,即使开发者不去创建自己的任务。 xTaskGeneEricCreate源码流程:(拖动可以放大图片) (任务创建流程图)   2.2.1 prvAllocateTCBAndStack 分配空间 Free...
橘子O 发布于 9个月前 阅读 139 评论 2

深度解剖~ FreeRtos阅读笔记1

上帝不仅给了我一颗低频的cpu还送了个劣质的晶振,可悲可叹!无奈在家休养,不然的话晶振偷停我可就驾鹤西去了。。。不过这也是个好机会,在家靠着窗户晒着太阳,偶尔读读源码,都很好。就是工资没了~   接连几个项目都使用了freertos,作为刚刚毕业一张白纸的我只能先去摸索一些api怎么去调用,需要填入哪些参数,才能达到自己的目的。程序不出问题就完事大吉了,不过稍有异常出现例如某个任务莫名奇妙的被挂起,超出预想,只凭借对api的了解很难追查问题的根源,所以我决定适当深入了解下freertos,顺便学习下大神们的编码风格,免得光头强总说:看你的代码像吃屎。我觉得看一些源码至少能给屎加点孜然。。。 上电复位 要让FreeRtos跑起来,首先要。。。给板子上电! 接触了一些芯片,发现它们都是将初始的异常向量表放在自己flash(也有可能是rom)的0地址,芯片上电复位在0地址,0地址开始的四个字节存放运行栈地址,紧跟着4字节是复位后要执行的第一行代码的地址(bootloader),引用一张cortexM3指南的一张图片:   要执行的第一行代码一般是汇编实现的初始化工作,因为此时并没有对MSP进行配置,所以还不具备C运行环境,因此这些工作只能由汇编来代替:初始化内存...
橘子O 发布于 9个月前 阅读 90 评论 1 点赞 1

Linux中WIFI功能工具与操作

当设备支持wifi功能时,在嵌入式linux开发中经常使用wireless tools和wpa_supplicant工具来管理和配置wifi功能与参数,本文简要介绍wifi操作的这些工具。
水海云 发布于 9个月前 阅读 198

小米温湿度传感器协议分析后续

博主上一编博文分析了小米的温湿度协议,提出了些疑问,本期解答
临峰不畏 发布于 12个月前 阅读 1141 评论 4 点赞 1

在MicroPython中用面向对象方法控制microbit显示

据拉里·沃尔(一位非常著名的程序员)说,懒惰是一种美德。懒惰的程序员提出节省劳力的解决方案。 如果你想节省自己和别人的时间,让micropython代码易于重复使用、阅读。 本文假设您已经熟悉对象、类和组合的概念,并且知道如何用Python编写类定义。如果您不熟悉Python的对象定位(O O),您可能会发现代码很难遵循。我在本文后面对O作了简短的介绍。 有几种学习Python的方法。这里有一个“官方”教程,但是我不确定初学者是否会觉得很容易理解。有一本看起来不错的书。它需要大量的时间和金钱投入,但是我认为如果你需要提高你的Python技能是值得的。 我可能会着手写我自己的介绍,但这是一个重大项目,需要一段时间。现在,即使您不熟悉O,也应该能够跟踪大多数文章并运行示例代码。 Python(micropython)对物理计算非常有用   Python是当之无愧的物理计算应用中一个非常流行的语言。 Python很容易学习,它很有表现力,可以在Linux、Mac OS和微软Windows上免费使用。 Python让树莓派充满活力,大量代码树莓派的代码都是用Python实现的。 最近,micropython带来了语言的几个流行的单片机平台,包括BBC microbit。 但… 大多数已发表micropython脚本使用Python程序风格...
shaoziyang 发布于 12个月前 阅读 270

小米温湿度传感器协议分析

家里部署了简单的智能家居系统,买了个小米的温湿度传感器,尝试将其接入到自己&...
临峰不畏 发布于 1年前 阅读 1145 评论 3 点赞 3

用官方的SSD1306.py 驱动 OLED

这几天看了一下micropython的I2C OLED驱动(SPI的类似),发现有几个版本。一个是官方的版本,还有早期网上流传的版本。 网上的版本使用了pyb.I2C驱动,是将Arduino的OLED驱动移植过来,只能用在STM32上;而官方的驱动使用了machine.I2C,这样有更好的兼容性,适合不同的硬件平台,还可以用软件I2C。 因为没有看到有人介绍官方的SSD1306驱动,所以我就简单的介绍一下I2C接口的OLED使用方法,SPI的也是类似的。下面以比较常见的0.96寸的128x64 I2C OLED为例: 从github下载micropython的源码(或者只下载其中的ssd1306.py文件),然后将ssd1306.py复制到PYB Nano或其它micropython板 连接I2C和电源到I2C的OLED上,如果没有硬件I2C,使用任意GPIO也可以。 在终端里输入下面代码 from machine import I2C i2c=machine.I2C(-1, sda=machine.Pin("PB9"), scl=machine.Pin("PB8"), freq=400000)   from ssd1306 import SSD1306_I2C oled = SSD1306_I2C(128, 64, i2c) oled.text("Hello PYB Nano", 0, 0) oled.show() 如果可以看到Hello这一段文字,就说明驱动成功了。   SSD1306.py中带有的函数不多,主要函数有: text(string, x, y),在(x, y)处显示字符串,注意text()函数...
shaoziyang 发布于 1年前 阅读 163 点赞 1

MicroPython开发板大盘点:你想要的开发板都在这里了!

MicroPython是在单片机上跑的Python。官方的开发板是PYBoard,但是这个板子比较少见,价格也比较贵。幸好MicroPython支持多种开发板,我们可以在其他开发板上很好的运行MicroPython,效果是一样的。下面是MicroPython支持的一些常见开发板
bodasisiter 发布于 1年前 阅读 573 评论 4 点赞 1

关于MicroPython是否可以真正用在产品开发的讨论

这几天,在MicroPython官方论坛上,发起了关于MicroPython是否可以真正用在产品开发上(Is MicroPython ready for real world deployment)的讨论,非常有趣。我觉得值得大家看看,所以简单的翻译和整理了一下。 问: If I wanted to deploy a large number of devices and have them run reliably, would MicroPython be a risky choice? 在设备上运行MicroPython是否可靠? 答: We are using Micropython in several projects (medical & industrial certified measurement equipment) for ~2 years. It was a bold decision, but it already paid off. 有网友回答说:我们在多个项目中(医疗和工业测量认证设备)使用Micropython超高2年了。这是一个大胆的决定,但是它已经得到了回报。 坏处: 提升了硬件资源需求 缺乏面向对象的编程技能 好处 开发效率 可追溯性 可测试性 可移植性 许可和支持(开源) 问: don't the other benefits  exist for C/C++ (with or without an widely used OS/RTOS) ? e.g. clang or gcc, FreeRTOS, etc? 是否有其他类似C/C++的功能?如 clang或gcc、FreeRTOS等 答: MPY outperforms all the tools we know (even the ones we can't af...
shaoziyang 发布于 1年前 阅读 288 评论 4 点赞 1

Micropython开发实例之TPYBoard v702GPRS功能测试

    一、什么是TPYBoardV702     TPYBoardV702是山东萝卜电子科技有限公司最新开发的,目前市面上唯一支持通信通信功能的MicroPython开发板:支持Python3.0及以上版本直接运行。支持GPS+北斗双模通信、GPRS通信、短信功能、电话功能;板载温湿度、光敏、三轴加速度传感器、蜂鸣器、LCD5110显示屏。免费提供通信测试服务平台。实物如下图:          二、利用TPYBoardV702完成利用GPRS功能把数据上传至服务器     1、具体要求     利用TPYBoardV702完成利用GPRS功能把数据上传至服务器     2、所需器件     TPYBoardV702开发板一块     Gsm手机卡一张     TPYBoardV702开发板板载GPRS通信功能,无需外接     3、板载通信功能及使用介绍     V702的开发板的整体整体亮点置一就是能板载通信功能,只要在开发板的卡槽上插上一张可以使用的手机卡(不支持电信),即可使用该功能。 开发板板载的通信功能包括了电话,短信,GPRS等功能,在这个实验里面我们只使用GPRS这个功能。 我们使用GPRS功能,主要是为了借助这个功能向服务器透传数据,所以我们第一步是要打开透传功能。然后我们要和服务器建立连接,这时我们需要知道服务器的地址和端口。这个实验...
bodasisiter 发布于 3小时前

开源版-在线客服系统源码_网页聊天室源码_webim

开源版在线客服系统源码,聊天室源码,网页客服系统,webim,详情请咨询。
suanleba 发布于 2个月前 阅读 155

EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib

python -m pip install --upgrade --force pip 失败; 如图: 环境树莓派,系统官方系统 解决方法: python -m pip install --user --upgrade --force pip 如图:  
白又白呀 发布于 3周前 阅读 15

Incapsula到底是什么

Incapsula专门提供用于网络安全防护的防火墙和其他网络安全防护技术。四款主要的产品,有ddos防火墙、CDN、负载均衡、web应用防火墙和CDN。Incapsula以非常有效的解决方案,为证实其满足我们安全和负载平衡方面高要求的能力。 Incapsula是一个以多功能为导向的CDN,能够提升网站的性能、安全性,缓解ddos攻击并确保可靠性。将多重应用或服务合并到一个单一的、专用于满足大型和小型企业需求的服务中,可以降低成本并简化运行过程 Incapsula在网络上可提升性能,在五大洲建立数据中心,提供全球应变能力。如此的网状网络可以保护您的业务免受最大的拒绝服务攻击。同时,Incaosula可提升性能,确保可用性,加强网络边缘的安全性。专业的技术团队有多年的专业知识,可以随时72小时待命,全天候服务。
上树的熊 发布于 3周前 阅读 4

Micropython实例之DIY超声波避障小车

    当今发达的交通在给人们带来便捷的同时也带来了许多的交通事故。人们遇到紧急事情处理超时是造成因素的主要原因之一。如果我们的汽车更加智能,事先能预测并显示前面障碍物距离车的距离,当障碍物距离车很近的时候自动采取一些措施来避开障碍物,这样就能在很大程度上避免事故的发生,下面我来带大家做一个智能的避障小车。 下方可查看演示视频!     一、实验器材     1、TPYboard V102板  1块     2、电机驱动模块L298N   1个     3、电机 2块     4、小车底盘 1个     5、超声波模块 1个     6、舵机 1个     7、SG90舵机支架 1个     8、超声波云台支架 1个     二、超声波模块     什么是超声波模块     超声波传感器是利用超声波的特性研制而成的传感器, 它是通过传送一个超声波(远高于人的听觉范围)和提供一个对应于爆裂回声返回到传感器所需时间的输出脉冲来工作的。超声波传感器在非接触性测量方面的应用非常广泛,如检测液体水位(特别是具有腐蚀性的液体,如硫酸、硝酸液体),汽车倒车防撞系统,金属/非金属探伤等,都可以用到超声波距离传感器。     超声波模块测距的原理     采用IO口TRIG触发测距,给最少10us的高电...
bodasisiter 发布于 2周前 阅读 16

智能设备 WiFi 配网的两种方式

智能家居的设备智能化,很多家电设备都安装上了 WiFi 模块, 方便用户通过手机控制和远程查看家里情况,典型的设备如智能插座,智能空调,智能空气净化器。 智能设备首次配置,这个过程简单来讲就是把 WiFi 设备初始化后,连到家里的无线路由器上。第一次配置成功后,基本就一劳永逸了。 目前流行的wifi配置模式一般有以下2种: 1:智能硬件处于AP模式,手机用于station模式,手机连接智能插座的AP后组成局域网,手机发送需要连接路由的SSID及密码至智能插座,智能硬件主动去连接指定路由后,完成连接 2:一键配置(smartconfig)模式:智能硬件处于混杂模式下,监听网络中的所有报文;手机APP将SSID和密码编码到UDP报文中,通过广播包或组播报发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,完成连接 AP(兼容) 模式 AP 是 (Wireless) Access Point 的缩写,即 (无线) 访问接入点。简单来讲就像是无线路由器一样,设备打开后进入 AP 模式,在手机的网络列表里面,可以搜索到类似 TPLINK_XXX 的名字(SSID)。 连接步骤: 1、连接路由器(获取路由器名称) 2、请求配网token,用户输入 WiFi 名字和密码后 3、初始化硬件设备,使设备进入 AP 模式,W...
乐_然 发布于 3个月前 阅读 174

Micropython实例之TPYBoardv102位数码管显示实验

import pyb from pyb import Pin #数码管a~g dp对应的开发板引脚 d_Pins=[Pin(i,Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']] #数码管位段1 2 3 4对应的引脚 w_Pins=[Pin(i,Pin.OUT_PP) for i in ['Y9','Y10','Y11','Y12']] number={ '0': [0,0,0,0,0,0,1,1],#0 '1': [1,1,1,1,0,0,1,1],#1 '2': [0,0,1,0,0,1,0,1],#2 '3': [0,0,0,0,1,1,0,1],#3 '4': [1,0,0,1,1,0,0,1],#4 '5': [0,1,0,0,1,0,0,1],#5 '6': [0,1,0,0,0,0,0,1],#6 '7': [0,0,0,1,1,1,1,1],#7 '8': [0,0,0,0,0,0,0,1],#8 '9': [0,0,0,0,1,0,0,1],#9 } def display(num,dp): global number count=0 for pin in d_Pins:#显示num的值 pin.value(number[num][count]) count+=1 if dp==1: d_Pins[7].value(0) def clear(): for i in w_Pins: i.value(0) for i in d_Pins: i.value(1) def showData(num): #分割出数值的百位、千位、个位和小数位的值 d_num=num location=d_num.find('.') if location>0: d_num=d_num.replace('.','') ...
bodasisiter 发布于 22小时前 阅读 3

thttpd嵌入式web开发笔记

thttpd是一款小型,快速,非阻塞的HTTP服务开源应用实现, 没有许多特别的特征,但是对大多数web它所提供的功能已经足够,非常适合用来作为嵌入式的Web服务器,可以方便地进行修改定制开发。 ## 基本介绍 官方网站: - thttpd:[http://www.acme.com/software/thttpd/](http://www.acme.com/software/thttpd/) - cgic:[https://boutell.com/cgic/](https://boutell.com/cgic/) 程序启动使用: ```bash thttpd [-C configfile] [-p port] [-d dir] [-dd data_dir] [-r|-nor] [-s|-nos] [-v|-nov] [-g|-nog] [-u user] [-c cgipat] [-t throttles] [-h host] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-V] [-D] ``` 选项基本介绍: - -C 指定一个可读的配置文件,可以在其中设置选项。使用一个配置文件的优势是,文件能被改变而且 thttpd将根据新的配置重新启动。 配置文件的语法很简单, 一系列的被空格分开的选项或"选项=值",选项名字和他们对应的指令行标志将被一起列出。 - -p 设定一个交互的端口数字来监听,默认值是80 ,这一标志在配置文件中的选项名字是 " port ",在config.h中选项是是 DEFAULT_PORT - -d 对 chdir()指定一个目录,用来启动进...
水海云 发布于 1周前 阅读 21

斐讯 K3C V32.1.45.267 V1.1官改升级操作

20180415上车试水,原版本支持的功能较少,因此刷了官改版本,本身对路由不是很了解,这里就记录一下就好了,官改的版本支持的功能是够用的,目前好像也只有这个版本,至于能不能刷其他第三方固件梅林等等,暂时还找不到,如果有的话再继续刷。 ps:打脸打脸,K3C很多功能用不起来,先不更新了。。太鸡儿烂了。 参考文章 http://iytc.net/wordpress/?p=2841 硬件信息 斐讯 K3C 版本信息 原始版本为:32.1.26.175 刷后版本为:32.1.45.267 注意事项     详细的注意事项在原作者的微博中已经写的很清楚了,这里只是觉得需要注意的地方。比如: 如果低于26.175版本,可以通过官方升级到该版本,或者下载离线包进行升级。 在控制面板中开启telnet客户端功能。 升级成45.267版本后,需要清理一下浏览器缓存,再访问。 远程路由     通过公网IP访问路由器,可以执行路由器管理、远程电脑网络唤醒等功能。     首先,确保使用的IP为公网独立IP,可向运营商直接申请。然后进入到远程管理中,设定远程端口和允许IP(255.255.255.255为任意IP可访问)。     火狐访问路由远程管理错误信息及解决方法。“此地址访问受限,此地址使用了一个通常用于网络浏览以外的端口。...
华山猛男 发布于 2个月前 阅读 25

MicroPython实例之TPYBoardv102自动浇花系统

    1.系统功能     监测土壤湿度、环境温度、光照强度     根据当前环境自动浇水,寒冷天气自动加热土壤     2.所需元器件     TPYBoard板子1块     光敏模块1块     DS18B20模块1块     土壤湿度检测模块1块     杜邦线若干     继电器2个     3. 接线方式     接线完毕之后将main.py、boot.py、ds18x20.py、onewire.py导入TPYBoard v102 盘符即可运行。自动浇水实验代码     5.源代码 from pyb import Pin, ADC from ds18x20 import DS18X20 gl = ADC(Pin('Y12')) #300亮-1700暗 sd = ADC(Pin('Y11')) #1800干-800湿 wd = DS18X20(Pin('Y10')) ks = Pin('Y9', Pin.OUT_PP) jr = Pin('Y8', Pin.OUT_PP) while True: print('\t光照强度:',gl.read(),'\t土壤湿度:',sd.read(),'\t当前温度:',wd.read_temp()) pyb.delay(200) if gl.read()<=250 : #阳光充足 if sd.read()>800 : #多浇水 ks.value(1) else : ks.value(0) elif gl.read()>=1300 : #阳光不足 if sd.read()>1200 : #少浇水...
bodasisiter 发布于 2周前 阅读 17

STM32duino Serial2

 Serial2 对于 UART2 对应板子上的  A2 A3 A3 ---> RX A2 ----> TX
sincoder 发布于 2周前 阅读 15

MicroPython实例之TPYBoardv102自动浇花系统

import pyb from pyb import Pin from pyb import Timer from machine import SPI,Pin Trig = Pin('X2',Pin.OUT_PP) Echo = Pin('X1',Pin.IN) num=0 flag=0 run=1 def start(t): global flag global num if(flag==0): num=0 else: num=num+1 def stop(t): global run if(run==0): run=1 start1=Timer(1,freq=10000,callback=start) stop1=Timer(4,freq=2,callback=stop) sizecc = [35,36,37,38,39,40,41,42,43,44,45,46,47]#280-47 -5 while True: if(run==1): Trig.value(1) pyb.udelay(100) Trig.value(0) while(Echo.value()==0): Trig.value(1) pyb.udelay(100) Trig.value(0) flag=0 if(Echo.value()==1): ...
bodasisiter 发布于 2周前 阅读 17

MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B

    一、实验目的     了解ws2812b的工作原理     学习ws2812b的驱动方法     二、实验器材     TPYBoard v102 1块     ws2812b RGB-Ring-8 1个     micro USB数据线 1条     杜邦线 若干     三、WS2812B的介绍     WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。 其外型与一个5050LED灯珠相同, 每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 还包含有高精度的内部振荡器和可编程定电流控制部分, 有效保证了像素点光的颜色高度一致。     数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素点提取后, 送到像素点内部的数据锁存器, 剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点, 每经过一个像素点的传输, 信号减少24bit。像素点采用自动整形转发技术, 使得该像素点的级联个数不受信号传送的限制, 仅仅受限信号传输速度要求。     实物图          上图是8个灯珠的。     WS2812B的引脚说明:     硬件连接     将TPYBoard v102与WS2812B的接线示...
bodasisiter 发布于 1周前 阅读 16

树莓派上使用 LCD1602 显示基本状态

最近入手了一个新玩具,没错,就是树莓派了,这里我使用的是树莓派 3B+。但是在玩儿的时候遇到了一些问题,比如树莓派开机有时候特别慢,且 IP 地址什么的记不住,于是就买了一块便宜的 LCD1602 显示屏(5V). 先上效果图 ![效果图](https://oscimg.oschina.net/oscnet/6080a735e3298244916d68ae169203b6f8f.jpg "效果图") 这显示屏可以显示 16个 * 2行 (32)字符,且只标准 ASCII 码字符和日文希腊文字符,LCD1602 一共有 16 个针脚,如果直接将其连接在树莓派上的话非常占用资源,所以我们买的是和 IIC(I2C)模块集成在一起的板子。IIC 只有四个针脚,这样就可以大幅度节约树莓派针脚去干其他事,I2C接口引脚如下: GND --- GND VCC --- 电源 (接树莓派5V) SDA --- I2C 数据 SCL --- I2C 时钟 将四个引脚接到树莓派同名 GPIO 引脚即可,VCC接5V,树莓派引脚如图: ![树莓派3B+引脚图][1] 接好了 LCD1602 后,我们就要登入树莓派了,首先安装 i2c-tools,和 Python 需要用到的 smbus , 然后查看 I2C 设备地址,这个地址将在后面用到。 pi[@raspberrypi](https://my.oschina.net/raspberrypi):~ $ sudo apt-get install i2c-tools pi[@raspberrypi](https://my.oschin...
denua_ 发布于 6天前 阅读 22

智能硬件一键WIFI配置模式下,对路由设置比较敏感

智能硬件连接wifi,有两种模式,一种是AP,一种是一键配置。详见我的博客:连接 在一键配置下,我发现对路由配置有一定要求。 斐讯S7体脂仪,初始化联网,假如路由器同时有5G和2.4G,必须要把5G关闭,才能顺利连接上。5G开那,APP就是死活发现不了S7。 Dueros个人开发板,昨天在5G关闭的条件下,使用小度之家APP,协助树莓派连上了路由2.4G的频道,功能都正常,然后我把路由器5G频道打开,重启了下路由。发现树莓派可以联网,但是小度唤醒功能死活都用不了了。重新烧了系统,用小度之家配网,就好了。不知道为嘛。折腾了半天。 假如出现类似的问题,还是先排查下路由5G的问题。
乐_然 发布于 3个月前 阅读 18

Padavan 路由器的入门级技巧

## 1. 脚本执行 ### 方式一 系统默认执行 连入路由器的后台,「高级设置」──「自定义设置」──「脚本」  ![Padavan脚本执行](https://static.oschina.net/uploads/space/2018/0511/102819_JUiz_1431904.png "在这里输入图片标题") ### 方式二 使用自动脚本 使用自动脚本 请先找个可以运行命令的终端控制区。如老毛子固件打开【网页终端】功能来运行命令或脚本。在【配置扩展环境】→启用【网页终端】→【打开网页终端】,进入终端界面后输入路由账号、密码即可开始。  如开启dnsmasq一键运行命令: ``` mkdir -p /etc/storage/dnsmasq/dns;wget --no-check-certificate https://raw.githubusercontent.com/sy618/hosts/master/dnsmasq/sh/setting.sh -O /etc/storage/dnsmasq/dns/setting.sh;/bin/sh /etc/storage/dnsmasq/dns/setting.sh 如需还原修改,只需运行: /bin/sh /etc/storage/dnsmasq/dns/del.sh ``` https://my.oschina.net/momomo1987/blog/edit/1810635 ### 方式三 控制台 系统设置-控制台 输入这个命令,等一会儿路由重启后就刷成新固件 #一键自动更新固件脚本 ``` wget -O- http://opt.cn2qq.com/opt-script/up.sh | sed -e "s|^\(Firmware.*\)=[^=...
momo1987 发布于 1个月前 阅读 73

计算机基础(三)

计算机基础(三) 一、数据表示方式     事实上电脑只认识0与1,记录的数据也是只能记录0与1,所以电脑常用的数据是二进制的。但是我们人类常用的数值运算是十进制,文字方面则有非常多的语言,常用的语言就有中文(又分正体与简体中文)、英文等。那么电脑如何记录与显示这些数值/文字呢?就得要通过一系列的转换才可以!下面我们就来谈谈数值与文字的编码系统! 1、数字系统     早期的电脑使用的是利用通电与否的特性的真空管,如果通电就是1,没有通电就是0,后来沿用至今,我们称这种只有0/1的环境为二进制,英文称为binary。所谓的十进制指的是逢十进一位,因此在个位数归为零而十位数写成1。所以所谓的二进制,就是逢二就前进一位的意思。     那二进制怎么用呢?我们先以十进制来解释好了。如果以十进制来说,3456的意义为:     3456=3x103+4x102+5x101+6x100     特别注意:“任何数值的零次方为1”所以100的结果就是1。同样的,将这个原理带入二进制的环境中,我们来解释一下1101010的数值转为十进制的话,结果如下:     1101010=1x26+1x25+0x24+1x23+0x22+1x21+0x20=64+32+0x16+8+0x4+2+0x1=106     二进制是电脑基础中的基础!了...
星汉 发布于 4周前 阅读 12

(BLE) CC2640R2 SPI驱动(基于TI Drivers) 注意点

系统升级功能需要 把内部flash数据发送到外部flash做备份等操作。 **注意,内部flash起始地址为0,和NULL是一样的,** 因此在使用驱动接口的时候,对于第一个page的flash,会当作NULL处理, 这就引发bug,SPI驱动会认为TX-BUF为NULL而使用默认的0x00作为填充数据! 所以对于这个特别的page,先拷贝到ram再发送到驱动层, 且注意,不要使用memcpy,因为也会进行NULL判断。 按照如下方式(代码来自upgrade.c) ``` //then copy the first page /****************************************************** Caution!!!! The fisrt flash page start addr is 0 !!! That is the same as NULL!!!! so copy to ram buffer first!!! DO NOT use memcpy!! ******************************************************/ do{ uint8_t buff[4]; pSrc = (const uint8_t*)INTFLASH_BLE_APP_ADDR; dstAddr=extFlashAddr; ((uint32_t*)buff)[0]=((uint32_t*)pSrc)[0]; if(copy_page_to_sflash(buff,dstAddr,4)!=0) return -1; return copy_page_to_sflash(pSrc+4,dstAddr+4,256-4); }while(0); ``` 而在BIM中,由于是按一个一个字节发送数据的,因此此问题不会出现! 但依旧需要注意NULL问题,不要...
何凯峰 发布于 3周前 阅读 16

dueros个人开发板,小度之家app无法发现设备的解决方案

dueros个人开发板联网后,小度语音提示:“登录失败,请使用小度之家app登录”,然后使用小度之家app,死活都无法发现设备... 解决方法: 重新刷机,开机后,提醒:使用小度之家app联网,登录app添加设备,就能发现设备,然后按提示输入wifi密码,就可以了。 ps: 有朋友说把/etc/wpa_supplicant/wpa_supplicant.conf里面的wifi账号密码那一段设置去掉重启就可以了,我试了,无效... 关联问题: https://developer.dueros.baidu.com/forum/topic/show/261282
乐_然 发布于 3个月前 阅读 24

dueros开发套件文档和镜像

备忘 地址为: https://developer.dueros.baidu.com/doc/device-devkit/intro_markdown
乐_然 发布于 3个月前 阅读 11

使用teamviewer树莓派远程控制树莓派

使用teamviewer树莓派远程控制树莓派
刘太刚 发布于 2个月前 阅读 88

「华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

树莓派上使用 LCD1602 显示基本状态

最近入手了一个新玩具,没错,就是树莓派了,这里我使用的是树莓派 3B+。但是在玩儿的时候遇到了一些问题,比如树莓派开机有时候特别慢,且 IP 地址什么的记不住,于是就买了一块便宜的 LCD1602 显示屏(5V). 先上效果图 ![效果图](https://oscimg.oschina.net/oscnet/6080a735e3298244916d68ae169203b6f8f.jpg "效果图") 这显示屏可以显示 16个 * 2行 (32)字符,且只标准 ASCII 码字符和日文希腊文字符,LCD1602 一共有 16 个针脚,如果直接将其连接在树莓派上的话非常占用资源,所以我们买的是和 IIC(I2C)模块集成在一起的板子。IIC 只有四个针脚,这样就可以大幅度节约树莓派针脚去干其他事,I2C接口引脚如下: GND --- GND VCC --- 电源 (接树莓派5V) SDA --- I2C 数据 SCL --- I2C 时钟 将四个引脚接到树莓派同名 GPIO 引脚即可,VCC接5V,树莓派引脚如图: ![树莓派3B+引脚图][1] 接好了 LCD1602 后,我们就要登入树莓派了,首先安装 i2c-tools,和 Python 需要用到的 smbus , 然后查看 I2C 设备地址,这个地址将在后面用到。 pi[@raspberrypi](https://my.oschina.net/raspberrypi):~ $ sudo apt-get install i2c-tools pi[@raspberrypi](https://my.oschin...
denua_ 发布于 6天前 阅读 22

MSP430F5529LP(一)IIC与OLED的HELLOWRLD

MSP430F5529LP单片机的IIC与OLED的HELLOWRLD
Pulsar-V 发布于 2个月前 阅读 39

MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B

    一、实验目的     了解ws2812b的工作原理     学习ws2812b的驱动方法     二、实验器材     TPYBoard v102 1块     ws2812b RGB-Ring-8 1个     micro USB数据线 1条     杜邦线 若干     三、WS2812B的介绍     WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。 其外型与一个5050LED灯珠相同, 每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 还包含有高精度的内部振荡器和可编程定电流控制部分, 有效保证了像素点光的颜色高度一致。     数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素点提取后, 送到像素点内部的数据锁存器, 剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点, 每经过一个像素点的传输, 信号减少24bit。像素点采用自动整形转发技术, 使得该像素点的级联个数不受信号传送的限制, 仅仅受限信号传输速度要求。     实物图          上图是8个灯珠的。     WS2812B的引脚说明:     硬件连接     将TPYBoard v102与WS2812B的接线示...
bodasisiter 发布于 1周前 阅读 16

thttpd嵌入式web开发笔记

thttpd是一款小型,快速,非阻塞的HTTP服务开源应用实现, 没有许多特别的特征,但是对大多数web它所提供的功能已经足够,非常适合用来作为嵌入式的Web服务器,可以方便地进行修改定制开发。 ## 基本介绍 官方网站: - thttpd:[http://www.acme.com/software/thttpd/](http://www.acme.com/software/thttpd/) - cgic:[https://boutell.com/cgic/](https://boutell.com/cgic/) 程序启动使用: ```bash thttpd [-C configfile] [-p port] [-d dir] [-dd data_dir] [-r|-nor] [-s|-nos] [-v|-nov] [-g|-nog] [-u user] [-c cgipat] [-t throttles] [-h host] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-V] [-D] ``` 选项基本介绍: - -C 指定一个可读的配置文件,可以在其中设置选项。使用一个配置文件的优势是,文件能被改变而且 thttpd将根据新的配置重新启动。 配置文件的语法很简单, 一系列的被空格分开的选项或"选项=值",选项名字和他们对应的指令行标志将被一起列出。 - -p 设定一个交互的端口数字来监听,默认值是80 ,这一标志在配置文件中的选项名字是 " port ",在config.h中选项是是 DEFAULT_PORT - -d 对 chdir()指定一个目录,用来启动进...
水海云 发布于 1周前 阅读 21

智能设备 WiFi 配网的两种方式

智能家居的设备智能化,很多家电设备都安装上了 WiFi 模块, 方便用户通过手机控制和远程查看家里情况,典型的设备如智能插座,智能空调,智能空气净化器。 智能设备首次配置,这个过程简单来讲就是把 WiFi 设备初始化后,连到家里的无线路由器上。第一次配置成功后,基本就一劳永逸了。 目前流行的wifi配置模式一般有以下2种: 1:智能硬件处于AP模式,手机用于station模式,手机连接智能插座的AP后组成局域网,手机发送需要连接路由的SSID及密码至智能插座,智能硬件主动去连接指定路由后,完成连接 2:一键配置(smartconfig)模式:智能硬件处于混杂模式下,监听网络中的所有报文;手机APP将SSID和密码编码到UDP报文中,通过广播包或组播报发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,完成连接 AP(兼容) 模式 AP 是 (Wireless) Access Point 的缩写,即 (无线) 访问接入点。简单来讲就像是无线路由器一样,设备打开后进入 AP 模式,在手机的网络列表里面,可以搜索到类似 TPLINK_XXX 的名字(SSID)。 连接步骤: 1、连接路由器(获取路由器名称) 2、请求配网token,用户输入 WiFi 名字和密码后 3、初始化硬件设备,使设备进入 AP 模式,W...
乐_然 发布于 3个月前 阅读 174

Padavan 路由器的入门级技巧

## 1. 脚本执行 ### 方式一 系统默认执行 连入路由器的后台,「高级设置」──「自定义设置」──「脚本」  ![Padavan脚本执行](https://static.oschina.net/uploads/space/2018/0511/102819_JUiz_1431904.png "在这里输入图片标题") ### 方式二 使用自动脚本 使用自动脚本 请先找个可以运行命令的终端控制区。如老毛子固件打开【网页终端】功能来运行命令或脚本。在【配置扩展环境】→启用【网页终端】→【打开网页终端】,进入终端界面后输入路由账号、密码即可开始。  如开启dnsmasq一键运行命令: ``` mkdir -p /etc/storage/dnsmasq/dns;wget --no-check-certificate https://raw.githubusercontent.com/sy618/hosts/master/dnsmasq/sh/setting.sh -O /etc/storage/dnsmasq/dns/setting.sh;/bin/sh /etc/storage/dnsmasq/dns/setting.sh 如需还原修改,只需运行: /bin/sh /etc/storage/dnsmasq/dns/del.sh ``` https://my.oschina.net/momomo1987/blog/edit/1810635 ### 方式三 控制台 系统设置-控制台 输入这个命令,等一会儿路由重启后就刷成新固件 #一键自动更新固件脚本 ``` wget -O- http://opt.cn2qq.com/opt-script/up.sh | sed -e "s|^\(Firmware.*\)=[^=...
momo1987 发布于 1个月前 阅读 73

MicroPython实例之TPYBoardv102自动浇花系统

    1.系统功能     监测土壤湿度、环境温度、光照强度     根据当前环境自动浇水,寒冷天气自动加热土壤     2.所需元器件     TPYBoard板子1块     光敏模块1块     DS18B20模块1块     土壤湿度检测模块1块     杜邦线若干     继电器2个     3. 接线方式     接线完毕之后将main.py、boot.py、ds18x20.py、onewire.py导入TPYBoard v102 盘符即可运行。自动浇水实验代码     5.源代码 from pyb import Pin, ADC from ds18x20 import DS18X20 gl = ADC(Pin('Y12')) #300亮-1700暗 sd = ADC(Pin('Y11')) #1800干-800湿 wd = DS18X20(Pin('Y10')) ks = Pin('Y9', Pin.OUT_PP) jr = Pin('Y8', Pin.OUT_PP) while True: print('\t光照强度:',gl.read(),'\t土壤湿度:',sd.read(),'\t当前温度:',wd.read_temp()) pyb.delay(200) if gl.read()<=250 : #阳光充足 if sd.read()>800 : #多浇水 ks.value(1) else : ks.value(0) elif gl.read()>=1300 : #阳光不足 if sd.read()>1200 : #少浇水...
bodasisiter 发布于 2周前 阅读 17

STM32duino Serial2

 Serial2 对于 UART2 对应板子上的  A2 A3 A3 ---> RX A2 ----> TX
sincoder 发布于 2周前 阅读 15

MicroPython实例之TPYBoardv102自动浇花系统

import pyb from pyb import Pin from pyb import Timer from machine import SPI,Pin Trig = Pin('X2',Pin.OUT_PP) Echo = Pin('X1',Pin.IN) num=0 flag=0 run=1 def start(t): global flag global num if(flag==0): num=0 else: num=num+1 def stop(t): global run if(run==0): run=1 start1=Timer(1,freq=10000,callback=start) stop1=Timer(4,freq=2,callback=stop) sizecc = [35,36,37,38,39,40,41,42,43,44,45,46,47]#280-47 -5 while True: if(run==1): Trig.value(1) pyb.udelay(100) Trig.value(0) while(Echo.value()==0): Trig.value(1) pyb.udelay(100) Trig.value(0) flag=0 if(Echo.value()==1): ...
bodasisiter 发布于 2周前 阅读 17

dueros个人开发板,小度之家app无法发现设备的解决方案

dueros个人开发板联网后,小度语音提示:“登录失败,请使用小度之家app登录”,然后使用小度之家app,死活都无法发现设备... 解决方法: 重新刷机,开机后,提醒:使用小度之家app联网,登录app添加设备,就能发现设备,然后按提示输入wifi密码,就可以了。 ps: 有朋友说把/etc/wpa_supplicant/wpa_supplicant.conf里面的wifi账号密码那一段设置去掉重启就可以了,我试了,无效... 关联问题: https://developer.dueros.baidu.com/forum/topic/show/261282
乐_然 发布于 3个月前 阅读 24

ARM嵌入式存储器及半导体存储器

ARM嵌入式存储器及半导体存储器
刘太刚 发布于 2个月前 阅读 43

斐讯 K3C V32.1.45.267 V1.1官改升级操作

20180415上车试水,原版本支持的功能较少,因此刷了官改版本,本身对路由不是很了解,这里就记录一下就好了,官改的版本支持的功能是够用的,目前好像也只有这个版本,至于能不能刷其他第三方固件梅林等等,暂时还找不到,如果有的话再继续刷。 ps:打脸打脸,K3C很多功能用不起来,先不更新了。。太鸡儿烂了。 参考文章 http://iytc.net/wordpress/?p=2841 硬件信息 斐讯 K3C 版本信息 原始版本为:32.1.26.175 刷后版本为:32.1.45.267 注意事项     详细的注意事项在原作者的微博中已经写的很清楚了,这里只是觉得需要注意的地方。比如: 如果低于26.175版本,可以通过官方升级到该版本,或者下载离线包进行升级。 在控制面板中开启telnet客户端功能。 升级成45.267版本后,需要清理一下浏览器缓存,再访问。 远程路由     通过公网IP访问路由器,可以执行路由器管理、远程电脑网络唤醒等功能。     首先,确保使用的IP为公网独立IP,可向运营商直接申请。然后进入到远程管理中,设定远程端口和允许IP(255.255.255.255为任意IP可访问)。     火狐访问路由远程管理错误信息及解决方法。“此地址访问受限,此地址使用了一个通常用于网络浏览以外的端口。...
华山猛男 发布于 2个月前 阅读 25

大爷点菜的需求管理智慧

一切项目的本源都是需求,需求明确了才能更好地规划项目所要完成的工作范围,第一期内容讲了项目管理的三重制约,即范围、时间、成本。时间和成本以项目的工作范围为核心,而范围又以项目需求为核心。由此可见需求是项目的本源。   然而, 需求管理并不是一个简单的事情,人的需求和想法很容易发生变化,从而导致项目工作会不断返工。这很可能导致成本上升,时间延迟,由此产生团队情绪不稳定和抱怨等连锁的反应。据全球项目管理协会(PMI)统计数字表明,因为需求管理不善而项目失败的概率高达37%。   下面通过一个“大爷点菜”的故事看看如何进行需求管理。   【原始需求】   一个大爷去饭店,坐下来点菜。   大爷:服务员,给我来份宫保鸡丁!   服务员:好嘞!   【中途需求变更】   大厨做到一半。   大爷:服务员,菜里不要放肉。   服务员:不放肉怎么做啊?   大爷:不放肉就行了,其它按正常程序做,不就行了,难吗?   服务员:好的,您稍等。   【需求改动太大,返工成本过高】   服务员告诉了大厨。   大厨:你大爷,我肉都回锅了。   然而大厨还是一点点挑出来了。   【低估需求变更成本】   大爷:服务员,菜里能给我加...
软件测试网 发布于 2个月前 阅读 8

EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib

python -m pip install --upgrade --force pip 失败; 如图: 环境树莓派,系统官方系统 解决方法: python -m pip install --user --upgrade --force pip 如图:  
白又白呀 发布于 3周前 阅读 15

开发者论坛一周精粹(第四十六期)云监控报警规则TCP连接数究竟指什么?

开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!      上周因为高考晚了几天,大家见谅。    阿里云万网域名一键签发SSL证书 快捷申请免费SSL证书教程    51干警网  摘要:阿里云域名主力全民上HTTPS,一键自助申请签发。5分钟拥有你自己的ssl证书。  教程>>https://bbs.aliyun.com/read/579196.html       参加.XYZ四周年活动,支持创意创新创业    万小域  摘要:.XYZ在步入四岁之际,特举办庆祝活动,支持创意创新创业!续费.xyz域名首年仅需44元、一次性注册.xyz域名两年也仅44元、.xyz域名溢价词首年注册5折。    活动>>https://bbs.aliyun.com/read/579241.html      煮米随想(连载)    红烧菠萝蜜  摘要:道德经里有两句名言,一生二二生三三生万物;人法地,地法天,天法道,道法自然。这是我喜欢煮自然米的原因。   更多>>https://bbs.aliyun.com/read/579202.html      【萌新求教】自己敲得html代码可以放到云服务器上吗    付艺卓  建站流程>>https://bbs.aliyun.com/read/579203.html      无法将文本信息粘贴到云服务器内    hsccecs  疑问:无法将远程外部所需的文本信...
传授知识的天使 发布于 1周前 阅读 2

dueros开发套件文档和镜像

备忘 地址为: https://developer.dueros.baidu.com/doc/device-devkit/intro_markdown
乐_然 发布于 3个月前 阅读 11

oneDevice.js - 用NodeJS驱动硬件的驱动包

oneDevice.js 用NodeJS驱动硬件。 这是什么? 这是一个旨在用NodeJS驱动硬件的驱动包。开箱即用、完善的文档、持续更新、友好的API。用树莓派打造自己的智能家居。 我对智能家居非常感兴趣,并一直想要自己定制化diy,用智能化设备控制家里的一切设备。所以有了这个,是我一直在用的,我会持续的集成更多型号的硬件驱动和传感器,和更多抽象的接口。 DIY,个性化,定制化,完全可控是oneDevice的核心。   完整文档请查看npm或GitHub: 码云地址:https://gitee.com/onedevice/oneDevice npm地址:https://www.npmjs.com/package/onedevice GitHub地址:https://github.com/LanFly/Device 后续主要更新 增加更多型号硬件驱动 更抽象的API,一句自然语言完成条件监控、动作触发 更容易阅读的文档 更新日志 v0.0.2 @ 2018-04-22 17:19 SSD1306新增showSystemInfo函数,用于监控系统信息。 直接调用showSystemInfo即可在屏幕上面显示内存、CPU统计信息、IP、时间。 stopSystemInfo函数用于停止刷新系统监控信息。 增加GPIO引脚参考图,用于查阅树莓派引脚编号和功能。 v0.0.1 @ 2018-01-01 23:27 增加讯飞XFS5152CE文字转语音芯片的驱动 增加SSD1306 OLED屏幕的驱动。 支持在S...
LanFly 发布于 2个月前 阅读 36 评论 3

Incapsula到底是什么

Incapsula专门提供用于网络安全防护的防火墙和其他网络安全防护技术。四款主要的产品,有ddos防火墙、CDN、负载均衡、web应用防火墙和CDN。Incapsula以非常有效的解决方案,为证实其满足我们安全和负载平衡方面高要求的能力。 Incapsula是一个以多功能为导向的CDN,能够提升网站的性能、安全性,缓解ddos攻击并确保可靠性。将多重应用或服务合并到一个单一的、专用于满足大型和小型企业需求的服务中,可以降低成本并简化运行过程 Incapsula在网络上可提升性能,在五大洲建立数据中心,提供全球应变能力。如此的网状网络可以保护您的业务免受最大的拒绝服务攻击。同时,Incaosula可提升性能,确保可用性,加强网络边缘的安全性。专业的技术团队有多年的专业知识,可以随时72小时待命,全天候服务。
上树的熊 发布于 3周前 阅读 4

笔记本window10系统黑屏风扇不转简单分析解决办法

导致黑屏的原因:   一、供电芯片损虚焊或者老化,屏线松动或者主板给屏幕供电电路短路;   二、内存问题,内存松动或者本身有问题,重插一下或者换个内存试试;   三、BGA(显卡。南北桥)封装芯片虚焊损坏导致的,一般虚焊的情况比较多,加焊下就好;   四、还有一种情况是屏暗故障,这个要去送修。   风扇不转的原因:   一、电源供电问题(可能电源出问题,供电带不起风扇了);   二、风扇的灰尘太多,长时间没有清理,清理一下试试;   三、电脑 CPU 风扇出问题了。   以上就是Win10笔记本电脑开机黑屏风扇不转原因分析,出现这种情况,一般情况下是驻电产生的,如果自己不懂或者不敢修,可以点击蓝色快线,专门服务电脑维修,IT外包。
上心kate 发布于 2个月前 阅读 18

Micropython实例之TPYBoardv102位数码管显示实验

import pyb from pyb import Pin #数码管a~g dp对应的开发板引脚 d_Pins=[Pin(i,Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']] #数码管位段1 2 3 4对应的引脚 w_Pins=[Pin(i,Pin.OUT_PP) for i in ['Y9','Y10','Y11','Y12']] number={ '0': [0,0,0,0,0,0,1,1],#0 '1': [1,1,1,1,0,0,1,1],#1 '2': [0,0,1,0,0,1,0,1],#2 '3': [0,0,0,0,1,1,0,1],#3 '4': [1,0,0,1,1,0,0,1],#4 '5': [0,1,0,0,1,0,0,1],#5 '6': [0,1,0,0,0,0,0,1],#6 '7': [0,0,0,1,1,1,1,1],#7 '8': [0,0,0,0,0,0,0,1],#8 '9': [0,0,0,0,1,0,0,1],#9 } def display(num,dp): global number count=0 for pin in d_Pins:#显示num的值 pin.value(number[num][count]) count+=1 if dp==1: d_Pins[7].value(0) def clear(): for i in w_Pins: i.value(0) for i in d_Pins: i.value(1) def showData(num): #分割出数值的百位、千位、个位和小数位的值 d_num=num location=d_num.find('.') if location>0: d_num=d_num.replace('.','') ...
bodasisiter 发布于 22小时前 阅读 3

树莓派上使用 LCD1602 显示基本状态

最近入手了一个新玩具,没错,就是树莓派了,这里我使用的是树莓派 3B+。但是在玩儿的时候遇到了一些问题,比如树莓派开机有时候特别慢,且 IP 地址什么的记不住,于是就买了一块便宜的 LCD1602 显示屏(5V). 先上效果图 ![效果图](https://oscimg.oschina.net/oscnet/6080a735e3298244916d68ae169203b6f8f.jpg "效果图") 这显示屏可以显示 16个 * 2行 (32)字符,且只标准 ASCII 码字符和日文希腊文字符,LCD1602 一共有 16 个针脚,如果直接将其连接在树莓派上的话非常占用资源,所以我们买的是和 IIC(I2C)模块集成在一起的板子。IIC 只有四个针脚,这样就可以大幅度节约树莓派针脚去干其他事,I2C接口引脚如下: GND --- GND VCC --- 电源 (接树莓派5V) SDA --- I2C 数据 SCL --- I2C 时钟 将四个引脚接到树莓派同名 GPIO 引脚即可,VCC接5V,树莓派引脚如图: ![树莓派3B+引脚图][1] 接好了 LCD1602 后,我们就要登入树莓派了,首先安装 i2c-tools,和 Python 需要用到的 smbus , 然后查看 I2C 设备地址,这个地址将在后面用到。 pi[@raspberrypi](https://my.oschina.net/raspberrypi):~ $ sudo apt-get install i2c-tools pi[@raspberrypi](https://my.oschin...
denua_ 发布于 6天前 阅读 22

thttpd嵌入式web开发笔记

thttpd是一款小型,快速,非阻塞的HTTP服务开源应用实现, 没有许多特别的特征,但是对大多数web它所提供的功能已经足够,非常适合用来作为嵌入式的Web服务器,可以方便地进行修改定制开发。 ## 基本介绍 官方网站: - thttpd:[http://www.acme.com/software/thttpd/](http://www.acme.com/software/thttpd/) - cgic:[https://boutell.com/cgic/](https://boutell.com/cgic/) 程序启动使用: ```bash thttpd [-C configfile] [-p port] [-d dir] [-dd data_dir] [-r|-nor] [-s|-nos] [-v|-nov] [-g|-nog] [-u user] [-c cgipat] [-t throttles] [-h host] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-V] [-D] ``` 选项基本介绍: - -C 指定一个可读的配置文件,可以在其中设置选项。使用一个配置文件的优势是,文件能被改变而且 thttpd将根据新的配置重新启动。 配置文件的语法很简单, 一系列的被空格分开的选项或"选项=值",选项名字和他们对应的指令行标志将被一起列出。 - -p 设定一个交互的端口数字来监听,默认值是80 ,这一标志在配置文件中的选项名字是 " port ",在config.h中选项是是 DEFAULT_PORT - -d 对 chdir()指定一个目录,用来启动进...
水海云 发布于 1周前 阅读 21

开发者论坛一周精粹(第四十六期)云监控报警规则TCP连接数究竟指什么?

开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!      上周因为高考晚了几天,大家见谅。    阿里云万网域名一键签发SSL证书 快捷申请免费SSL证书教程    51干警网  摘要:阿里云域名主力全民上HTTPS,一键自助申请签发。5分钟拥有你自己的ssl证书。  教程>>https://bbs.aliyun.com/read/579196.html       参加.XYZ四周年活动,支持创意创新创业    万小域  摘要:.XYZ在步入四岁之际,特举办庆祝活动,支持创意创新创业!续费.xyz域名首年仅需44元、一次性注册.xyz域名两年也仅44元、.xyz域名溢价词首年注册5折。    活动>>https://bbs.aliyun.com/read/579241.html      煮米随想(连载)    红烧菠萝蜜  摘要:道德经里有两句名言,一生二二生三三生万物;人法地,地法天,天法道,道法自然。这是我喜欢煮自然米的原因。   更多>>https://bbs.aliyun.com/read/579202.html      【萌新求教】自己敲得html代码可以放到云服务器上吗    付艺卓  建站流程>>https://bbs.aliyun.com/read/579203.html      无法将文本信息粘贴到云服务器内    hsccecs  疑问:无法将远程外部所需的文本信...
传授知识的天使 发布于 1周前 阅读 2

「华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

开发者论坛一周精粹(第四十六期)云监控报警规则TCP连接数究竟指什么?

开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!      上周因为高考晚了几天,大家见谅。    阿里云万网域名一键签发SSL证书 快捷申请免费SSL证书教程    51干警网  摘要:阿里云域名主力全民上HTTPS,一键自助申请签发。5分钟拥有你自己的ssl证书。  教程>>https://bbs.aliyun.com/read/579196.html       参加.XYZ四周年活动,支持创意创新创业    万小域  摘要:.XYZ在步入四岁之际,特举办庆祝活动,支持创意创新创业!续费.xyz域名首年仅需44元、一次性注册.xyz域名两年也仅44元、.xyz域名溢价词首年注册5折。    活动>>https://bbs.aliyun.com/read/579241.html      煮米随想(连载)    红烧菠萝蜜  摘要:道德经里有两句名言,一生二二生三三生万物;人法地,地法天,天法道,道法自然。这是我喜欢煮自然米的原因。   更多>>https://bbs.aliyun.com/read/579202.html      【萌新求教】自己敲得html代码可以放到云服务器上吗    付艺卓  建站流程>>https://bbs.aliyun.com/read/579203.html      无法将文本信息粘贴到云服务器内    hsccecs  疑问:无法将远程外部所需的文本信...
传授知识的天使 发布于 1周前 阅读 4

MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B

    一、实验目的     了解ws2812b的工作原理     学习ws2812b的驱动方法     二、实验器材     TPYBoard v102 1块     ws2812b RGB-Ring-8 1个     micro USB数据线 1条     杜邦线 若干     三、WS2812B的介绍     WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。 其外型与一个5050LED灯珠相同, 每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 还包含有高精度的内部振荡器和可编程定电流控制部分, 有效保证了像素点光的颜色高度一致。     数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素点提取后, 送到像素点内部的数据锁存器, 剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点, 每经过一个像素点的传输, 信号减少24bit。像素点采用自动整形转发技术, 使得该像素点的级联个数不受信号传送的限制, 仅仅受限信号传输速度要求。     实物图          上图是8个灯珠的。     WS2812B的引脚说明:     硬件连接     将TPYBoard v102与WS2812B的接线示...
bodasisiter 发布于 1周前 阅读 16

MicroPython实例之TPYBoardv102自动浇花系统

import pyb from pyb import Pin from pyb import Timer from machine import SPI,Pin Trig = Pin('X2',Pin.OUT_PP) Echo = Pin('X1',Pin.IN) num=0 flag=0 run=1 def start(t): global flag global num if(flag==0): num=0 else: num=num+1 def stop(t): global run if(run==0): run=1 start1=Timer(1,freq=10000,callback=start) stop1=Timer(4,freq=2,callback=stop) sizecc = [35,36,37,38,39,40,41,42,43,44,45,46,47]#280-47 -5 while True: if(run==1): Trig.value(1) pyb.udelay(100) Trig.value(0) while(Echo.value()==0): Trig.value(1) pyb.udelay(100) Trig.value(0) flag=0 if(Echo.value()==1): ...
bodasisiter 发布于 2周前 阅读 17

STM32duino Serial2

 Serial2 对于 UART2 对应板子上的  A2 A3 A3 ---> RX A2 ----> TX
sincoder 发布于 2周前 阅读 15

MicroPython实例之TPYBoardv102自动浇花系统

    1.系统功能     监测土壤湿度、环境温度、光照强度     根据当前环境自动浇水,寒冷天气自动加热土壤     2.所需元器件     TPYBoard板子1块     光敏模块1块     DS18B20模块1块     土壤湿度检测模块1块     杜邦线若干     继电器2个     3. 接线方式     接线完毕之后将main.py、boot.py、ds18x20.py、onewire.py导入TPYBoard v102 盘符即可运行。自动浇水实验代码     5.源代码 from pyb import Pin, ADC from ds18x20 import DS18X20 gl = ADC(Pin('Y12')) #300亮-1700暗 sd = ADC(Pin('Y11')) #1800干-800湿 wd = DS18X20(Pin('Y10')) ks = Pin('Y9', Pin.OUT_PP) jr = Pin('Y8', Pin.OUT_PP) while True: print('\t光照强度:',gl.read(),'\t土壤湿度:',sd.read(),'\t当前温度:',wd.read_temp()) pyb.delay(200) if gl.read()<=250 : #阳光充足 if sd.read()>800 : #多浇水 ks.value(1) else : ks.value(0) elif gl.read()>=1300 : #阳光不足 if sd.read()>1200 : #少浇水...
bodasisiter 发布于 2周前 阅读 17

树莓派安装MySQLdb发生EnvironmentError: mysql_config not found

  解决办法: sudo apt-get install libmysql++-dev 然后再: sudo easy_install MySQL-python 使用pip容易出错
白又白呀 发布于 2周前 阅读 8

Pycharm使用技巧

1. pycahrm默认可以识别py脚本中的sql语句,本身很不错,但当SQL拼接时就显示的代码特别难看。          可以关闭sql识别功能。         
Mestarxh 发布于 2周前 阅读 13

Micropython实例之DIY超声波避障小车

    当今发达的交通在给人们带来便捷的同时也带来了许多的交通事故。人们遇到紧急事情处理超时是造成因素的主要原因之一。如果我们的汽车更加智能,事先能预测并显示前面障碍物距离车的距离,当障碍物距离车很近的时候自动采取一些措施来避开障碍物,这样就能在很大程度上避免事故的发生,下面我来带大家做一个智能的避障小车。 下方可查看演示视频!     一、实验器材     1、TPYboard V102板  1块     2、电机驱动模块L298N   1个     3、电机 2块     4、小车底盘 1个     5、超声波模块 1个     6、舵机 1个     7、SG90舵机支架 1个     8、超声波云台支架 1个     二、超声波模块     什么是超声波模块     超声波传感器是利用超声波的特性研制而成的传感器, 它是通过传送一个超声波(远高于人的听觉范围)和提供一个对应于爆裂回声返回到传感器所需时间的输出脉冲来工作的。超声波传感器在非接触性测量方面的应用非常广泛,如检测液体水位(特别是具有腐蚀性的液体,如硫酸、硝酸液体),汽车倒车防撞系统,金属/非金属探伤等,都可以用到超声波距离传感器。     超声波模块测距的原理     采用IO口TRIG触发测距,给最少10us的高电...
bodasisiter 发布于 2周前 阅读 16

汇编入门1:变量定义,四则运算

汇编程序的编写与高级语言的不同,就在于有很多寄存器级别的运算,代码中al、bl其实是2个寄存器,就相当于一个定义好的全局变量,而且在进行某些操作之后,寄存器会被清空,这是编写程序的时候需要注意的。为了方便演示,我们直接将结果简化为对应ascii码的数字,方便显示。初始运算变量dst中30h代表16进制,也就是16*3=48,第一个加法程序中我们计算dst + 7,也就是48+7=55,意味着ascii码中对应的数字7。最终输出结果为7证明了我们的计算是对的。去掉了繁琐的数字转换,回归最淳朴的汇编计算,可以更深入地理解本质。 代码为: .386 .model flat, stdcall option casemap :none include windows.inc include kernel32.inc include masm32.inc includelib kernel32.lib includelib masm32.lib .data ; ============= 数据定义部分 ====================== ; 定义一个叫做HelloWorld的变量,变量类型是db?变量内存储hello world字符串,并以结束符0结尾 HelloWorld db "Hello World!", 0 ; 定义一个叫做buffer的db类型 buffer db 31h,32h,33h,34h,35h,36h,37h,38h,0 dst db 30h enter1 db 0ah,0 ; 定义一个换行符并以回车结尾 tmp db 0 .code ;...
flash胜龙 发布于 3周前 阅读 5

潍坊首个小学“教育创客空间”落户呼家庄小学 萝卜(创客)教育走进小学课堂

随着教育信息化的快速发展,创客教育正在掀起一股席卷全球的教育改革浪潮。基于对创客教育内涵的理解,以及培养中小学生综合素养的现实需求,2018年5月,潍坊首个小学“教育创客空间”落户呼家庄小学! 呼家庄小学教育创客空间  建设平台,为学生筑就“造梦空间” “萝卜教育”建设创客空间,旨在落实“走教育现代化创新之路为学生的终身发展与幸福”特色教育理念,发展学生核心素养,通过组织开展丰富多彩的创客教育和创客实践活动激发学生爱思考、善创新、会合作的积极性,培养学科学、重体验的创新能力。 神奇的小汽车,“这个小汽车真的会思考吗?”“为什么会自动躲避障碍物呢?”二十辆能思考可遥控的小汽车正式在这里安家啦! 智能小车 精妙的小飞机,会思考的小汽车,3D打印机,四轴飞行器。每个创客项目位置前,都聚集着一大帮着迷的孩子跃跃欲试。面对多种高科技小物件,孩子们忍不住发出“哇”的赞叹声。   DIY小飞机 操控无人机   动手实践,全员争当“小创客”   潍坊市首家小学校园创客空间于今年落户呼家庄小学,学校将创客教育作为学校校本课程的探索研究方向。 看完了创客展示,孩子们已经跃跃欲试了!动手操作当然少不了电子设计套装啦! 电子设计...
bodasisiter 发布于 3周前 阅读 7

(BLE) CC2640R2 SPI驱动(基于TI Drivers) 注意点

系统升级功能需要 把内部flash数据发送到外部flash做备份等操作。 **注意,内部flash起始地址为0,和NULL是一样的,** 因此在使用驱动接口的时候,对于第一个page的flash,会当作NULL处理, 这就引发bug,SPI驱动会认为TX-BUF为NULL而使用默认的0x00作为填充数据! 所以对于这个特别的page,先拷贝到ram再发送到驱动层, 且注意,不要使用memcpy,因为也会进行NULL判断。 按照如下方式(代码来自upgrade.c) ``` //then copy the first page /****************************************************** Caution!!!! The fisrt flash page start addr is 0 !!! That is the same as NULL!!!! so copy to ram buffer first!!! DO NOT use memcpy!! ******************************************************/ do{ uint8_t buff[4]; pSrc = (const uint8_t*)INTFLASH_BLE_APP_ADDR; dstAddr=extFlashAddr; ((uint32_t*)buff)[0]=((uint32_t*)pSrc)[0]; if(copy_page_to_sflash(buff,dstAddr,4)!=0) return -1; return copy_page_to_sflash(pSrc+4,dstAddr+4,256-4); }while(0); ``` 而在BIM中,由于是按一个一个字节发送数据的,因此此问题不会出现! 但依旧需要注意NULL问题,不要...
何凯峰 发布于 3周前 阅读 16

(BLE) CC2640R2 BIM下 SPI接口驱动能力问题

**Demo(示例代码)提供的bim工程使用sFlash,其spi接口上只挂载了这一个外设,因此没问题。** 但实际项目,有2个spi外设,这样需要考虑spi接口驱动能力。 因此如下代码必须添加在SPI初始化接口中: ``` //MUST add these code, //this makes spi multiply devices drive capbility IOCIOPortPullSet(BSP_SPI_MISO,IOC_IOPULL_DOWN); IOCIODrvStrengthSet(BSP_SPI_MOSI,IOC_CURRENT_8MA,IOC_STRENGTH_MAX); IOCIODrvStrengthSet(BSP_SPI_CLK_FLASH,IOC_CURRENT_8MA,IOC_STRENGTH_MAX); ``` 1,分别表示需要给MISO接口进行下拉处理,否则其波形会有问题(当外设为高阻态时候) 2,CLK和MOSI必须设置最大的驱动能力。 在APP程序中,使用了TI的中间层, 实现文件《SPICC26XXDMA.c》里的 SPICC26XXDMA_initIO 函数, 可以看到驱动能力已经初始化为了为 PIN_DRVSTR_MED。 这样在app程序里面挂2个外设可以没有问题。 但是最好设置为max.因为一定几率下会出现问题。...
何凯峰 发布于 3周前 阅读 6

(BLE) CC2640R2 UART 多余字节问题

**以下问题针对在反复开关UART接口的情况,如果只开启一次,则无此问题。** uart 接口在关闭再次开启后, 第一次read会得到一个额外的字节(0xf0),原因未知。 但后续读写正常。 解决办法,在open之后,清空FIFO。 ``` UART_control(uart,UARTCC26XX_CMD_RX_FIFO_FLUSH,NULL); ``` 注意该控制使用的是特定平台的接口,因此需要包含: ``` #include #include ```
何凯峰 发布于 3周前 阅读 4

CDN网站加速的工作流程

CDN的全称是Content Delivery Network,即内容分发网络。 CDN的通俗理解就是网站加速,CPU负载均衡,可以解决跨运营商,跨地区,服务器负载能力过低,带宽过少等带来的网站打开速度慢等问题。 原理就是在客户端和源站中多加一层节点,用以加快用户的访问速度,让用户和离自己最近的节点层做交互。 CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。 CDN网站加速的工作流程:当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN 节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为:用户 在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当 时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。  ...
上树的熊 发布于 3周前 阅读 5

Incapsula到底是什么

Incapsula专门提供用于网络安全防护的防火墙和其他网络安全防护技术。四款主要的产品,有ddos防火墙、CDN、负载均衡、web应用防火墙和CDN。Incapsula以非常有效的解决方案,为证实其满足我们安全和负载平衡方面高要求的能力。 Incapsula是一个以多功能为导向的CDN,能够提升网站的性能、安全性,缓解ddos攻击并确保可靠性。将多重应用或服务合并到一个单一的、专用于满足大型和小型企业需求的服务中,可以降低成本并简化运行过程 Incapsula在网络上可提升性能,在五大洲建立数据中心,提供全球应变能力。如此的网状网络可以保护您的业务免受最大的拒绝服务攻击。同时,Incaosula可提升性能,确保可用性,加强网络边缘的安全性。专业的技术团队有多年的专业知识,可以随时72小时待命,全天候服务。
上树的熊 发布于 3周前 阅读 4

EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib

python -m pip install --upgrade --force pip 失败; 如图: 环境树莓派,系统官方系统 解决方法: python -m pip install --user --upgrade --force pip 如图:  
白又白呀 发布于 3周前 阅读 15

JavaScript在物联网中的应用

在那篇《最流行的编程语言JavaScript能做什么?》里,我们列举了JavaScript在不同领域的使用情况,今天让我们来详解一下JavaScript在物联网中的应用。
Phodal 发布于 2年前 阅读 4420 评论 8 点赞 2

「华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

广告
华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

​黑科技:程序猿如何打造属于自己的分体键盘

之前一直想买个机械键盘,听说机械键盘敲代码和玩游戏都特别爽,也是装B神器。同时也觉得普通的键盘打字打久了手腕会有点酸酸的,因为敲键盘时都是要弯着手腕的,一点也不符合人体工程学。于是乎就想买一个分体的机械键盘,结果找了半天都没有比较中意的,找到几个人体工程学键盘,都是薄膜的,而且价格高得离谱,不就多个人体工程学光环嘛。。。
腾讯Bugly 发布于 2年前 阅读 5532 评论 40 点赞 16

Linux下TTL串口登录pcDuino V2

在没有显示器和网线的情况下,串口是连接pcDuino V2的不二选择。本文主要记录了我在LINUX下通过USB-TTL转接连接pcDuino V2 的过程步骤,仅供参考!
HilerChen 发布于 4年前 阅读 3762 评论 12 点赞 3

树莓派使用DHT11温湿度传感器

通过树莓派的GPIO口连接DHT11温湿度传感器,读取温湿度数据。成功使用wiringpi实现,pi4j失败。
李鱼跃龙门 发布于 4年前 阅读 19283 评论 18 点赞 13

dell服务器远程获取硬件状态

以dell的R620型号的服务器做的测试 登陆上dell服务器ilo的IP地址,首先打开ipmi,ilo2是直接支持ipmi2.0的 此框需要点击 “IDRAC设置”->“网络”->“IPMI设置”在”启用LAN上IPMI“后的复选框打钩,才能启动ipmi 好像是内置到了ilo2,应该是,这个不是太确定,但是我能确定的是,ipmitool获取数据的时候直接可以使用ilo的账户密码 [root@manrhca script]# ipmitool  -I lan -H 192.168.232.200 -U root -P calvin sdr SEL              | Not Readable      | ns Intrusion        | 0x00              | ok Fan1A RPM        | 2160 RPM          | ok Fan2A RPM        | 2160 RPM          | ok Fan3A RPM        | 2160 RPM          | ok Fan4A RPM        | 2160 RPM          | ok Fan5A RPM        | 2160 RPM          | ok Fan6A RPM        | 2280 RPM          | ok Inlet Temp       | 21 degrees C      | ok Exhaust Temp    ...
薄皮儿脆沙瓤 发布于 4年前 阅读 9110 评论 2 点赞 4

[翻译完成] 用红外遥控器遥控树莓派

概述 本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心. 在开始之前, 你需要按此教程把树莓派搭建为影音中心. 需要的零件 在搭建好了影音中心之后, 你需要去买些零件. 名称 数量 红外传感器 http://adafruit.com/products/157 1 红外遥控器 http://adafruit.com/products/389 1 母对母杜邦线 http://adafruit.com/products/794 1 硬件连接 红外传感器只有三个引角, 都需要连上树莓派的GPIO管脚. 我们需要用到母对母杜邦线把它们连上. 好的杜邦线连上红外传感器会使得连接更可靠些. 按下图所示进行连接. 跳线的颜色无关紧要, 只是不同颜色更容易区分. 要注意在树莓派上用红外传感器需要3.3V电压, 千万别用5V. LIRC 树莓派和遥控器的通讯通过LIRC (Linux Infrared Remote Control)完成. 大多数树莓派发行版都已经预装了, 所以在Rasbmc上我们就不需要再安装了, 只需做些设置即可. 为了确保红外硬件正常工作, 我们可以用SSH连接安装好XBMC的树莓派来测试下. 如果你从没用过SSH,请看此教程. 在XBMC的系统信息界面我们可以获得树莓派的IP地址. 我们需要关掉红外功能, 要不然我们无法通过SSH使用LIRC. 进入XMBC的设置界面, 然后将"Enable GPIO TSOP IR Re...
八宝粥 发布于 5年前 阅读 15084 评论 16

[翻译完成] 树莓派搭建hadoop集群

Hadoop是由Java实现的, 所以在树莓派上运行就和在其他x86平台上运行一样简单. 首先, 我们需要安装支持树莓派的JVM. 可以选用OpenJDK或者Oracle的JDK 8. 我个人推荐JDK8, 其速度稍微快些, 但是OpenJDK安装更容易些. 1. 安装Java 安装OpenJDK十分简单, 只要执行以下命令 pi@raspberrypi ~ $ sudo apt-get install openjdk-7-jdk pi@raspberrypi ~ $ java -version java version "1.7.0_07" OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1) OpenJDK Zero VM (build 22.0-b10, mixed mode) 另外, 我们可以选择安装Oracle的JDK 8. 可以从这获得: https://jdk8.java.net/fxarmpreview/index.html pi@raspberrypi ~ $sudo tar zxvf jdk-8-ea-b36e-linux-arm-hflt-*.tar.gz -C /opt pi@raspberrypi ~ $sudo update-alternatives --install "/usr/bin/java"  "java" "/opt/jdk1.8.0/bin/java" 1  pi@raspberrypi ~ $ java -version java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b36e) Java HotSpot(TM) Client VM (build 25.0-b04, mixed mode) 如果你两个都装了, 用以...
八宝粥 发布于 5年前 阅读 9963 评论 19 点赞 4

基于Android平台的无线传感器网络(ZigBee)监控系统

ZigBee协议实现的WSN,由ZigBee协议的传感节点组成,完成数据采集、处理、上传,执行控制命令。 JavaWeb实现的服务端,由RS232通信,数据解析,持久化层,面向移动终端的Web通信等模块组成。web部分包括了HTTP及XMPP协议的推送服务。 Android平台上的WSN监控软件。
Change_Ty 发布于 5年前 阅读 10990 评论 44 点赞 4
顶部