暂时未有相关云产品技术能力~
暂无个人介绍
现在智能手机的功能已经非常强大,除了基础的通信功能外,测位测速,空间角度等数据的测量也非常方便,这在线路导航,地图,体感游戏等应用中十分重要。不知你是否想过,智能设备是如何获取到其所在的空间状态与加速度等数据的呢?MPU6050就是提供这类数据测量的一种传感器模块。
现代生活中,网络可谓是无处不在,购物需要网络,付款需要网络,各种生活缴费需要网络,在各行各业的工作中,更是离不开网络。说到底,网络的作用无非是支持计算机间进行数据交换。世界各地有着不计其数的网络设备,这些网络设备是如何有序正常的进行数据交流的呢?网络以及各种协议的工作原理又是怎样的呢?本系列博客,我们将尝试自上而下的对网路的工作原理进行介绍,从应用层开始,逐层向下,详细的帮助你理解网络的核心工作原理。当然,网络协议多如牛毛,在网络分层中每一层的知识也是非常浩渺,希望这些博客可以起到抛砖引玉的作用,能够使你对于天天使用的互联网网络在宏观上有认识,在微观上也有了解。
BMP180是一款高级的温度气压传感器,通过测量的气压值也可以计算出当前海拔高度。其压力测量范围为300-1100hPa,对应的海拔高度为正9000m-负500m。工作电压在1.8V到3.6V之间。体积小,精度高,采用I2C接口,使用非常方便。BMP180传感器在GPS导航,天气检测,海拔测量和垂直方向速度检测等方面有广泛的应用。本实验,我们尝试使用树莓派的I2C接口来读取BMP180的温度和气压值,并进行海拔高度的计算。
旋转编码传感器是一种速度位移传感器。其通过旋钮的旋转来带动内部的光栅盘旋转,光栅盘上会预置很多狭缝,光栅盘的转动导致经过狭缝的光线产生脉冲变化,此信号经过后继电路的处理后,输出成脉冲信号。最终,我们可以通过信号引脚的输出来获取旋钮的旋转动作。
当今,汽车行业的发展可谓是日新月异。智能汽车的概念也越来越火热。自动驾驶也将得到越来越广泛的应用。不知你有没有想过,平时我们在人工驾驶汽车时,主要使用的是视觉来感知距离,对于人工智能来说,它是如何通过感知距离来获取周围环境信息的呢?这就需要使用到相关的测距传感器。
在软件开发中,枚举是我们会经常会用到的一种编程方式,通过枚举,可以使我们的代码更具可读性与统一性。通常情况下,我们会通过typedef来定义一种枚举的类型来使用
在做iOS开发代码优化的工作时,优化代码结构之前,我们应该先整理好工程的外貌,将文件和类的命名进行规范,在Xcode中为我们提供了方便而强大的名称修改功能。
在iOS开发中,我们时常会使用一些我们封装好的管理类,框架类,方法类等,我们在实现这些文件时,可能还会依赖一些第三方库或者系统库。如果每次我们复用这些代码时,都要将关联的这些东西进行导入,甚至还要进行arc和mrc的编译设置,会浪费我们很大的精力。除此之外,如果项目需要多人合作,你可能也并不希望你的源代码暴漏在所有人的面前,这个时候,我们就可以使用静态库或者动态库的方式来对我们的代码进行包装,便于复用。
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
在各种程序开发中,编写代码的效率是非常重要的一个问题,各种优秀的编译器也都有相应的插件用于提高程序员的编码速度。在xcode中,可以通过定义代码块的方式将常用的一部分代码进行快捷呼出,首先xcode中为我们定义好了许多代码块
在使用Git仓库进行代码管理时,新的电脑上往往需要生成ssh公钥进行匹配,Mac系统生成Git公钥过程如下
在前端开发中,很大一部分工作都是将后台数据获取到后展示在前端界面上。如果接口是现成的,这个过程还相对容易一些,但是如果接口的开发和前端开发是同时进行的,在仅仅有接口文档并无测试环境的情况下,前端开发者就要痛苦了,所得非所见的盲写方式不但效率低下,也有很大的遗漏风险。如果我们有办法自己根据接口文档模拟这些数据,那开发过程中的体验就会好很多了。幸运的是,通过node.js,express和mock.js,我们可以非常容易的进行数据Mock。
在浏览器中输入一个地址,点击回车之后发生了什么?这是一个面试中常见的问题 ,这个看似常见简单的操作,其中却隐藏了大量复杂的互联网技术。本篇博客,我们就聊一聊网上冲浪的第一步:DNS解析。
MD5算法是Hash算法的一种,叫做讯息摘要演算法。所谓摘要,从字面意思理解,是指内容的大概。在MD5算法中,这个摘要是指将任意数据映射成一个128位长的摘要信息。并且其是不可逆的,即从摘要信息无法反向推演中原文,在演算过程中,原文的内容也是有丢失的。
对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、Go和RBIG语言的编译。本篇博客主要总结使用GCC进行代码编译的方法以及从源文件生成可执行文件的整个过程。
在编程中,一段代码的执行效率实际上很难估算和预测,其主要受到如下几个方面的影响: 1.算法依据的数学基础。 2.编译器产生的代码质量和语言的执行效率。 3.问题的输入规模。 4.硬件的执行速度。
贝塞尔曲线的最初设计是服务于工业设计,尤其应用与汽车曲线设计。随着计算机画图的应用广泛,若想在计算机上画出平滑精准的曲线并不是一件容易的事,贝塞尔曲线解决了这样的问题,贝塞尔虚线通过起始点与结束点来确定曲线的首尾,通过若干个控制点来确定曲线的走向。由于其由法国工程师皮埃尔·贝塞尔广泛推广,因此这种曲线被命名为贝塞尔曲线。
许多高级语言中都提供有排序函数,但是掌握一些经典排序算法的基本原理和编码方法还是很有必要,这个学习过程可以帮助我们更好的理解每种排序算法的设计思路,本篇博客将介绍9种十分经典的排序算法,提供了解释性语言JavaScript与编译型语言C的源代码。
从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式。那么一个正则表达式,究竟是什么?其实它就是一个字符串,但这个字符串具有特定含义。
干簧管传感器又被称为磁簧开关。顾名思义,其功能是可以感知周围的磁场从而改变开关的状态。
在本系列的前几篇博客中,我们有进行过温度传感器和光强传感器的实验。通过这些传感器,加上简单的编程技术,我们很容易获取这些环境数据。通过各种丰富的传感器,用树莓派可以非常容易的打造一款”简易气象站“。对于一个小型的气象站来说,除了需要收集温度和光照强度数据外,当前的天气状况也是必不可少的。本篇博客,我们将通过雨滴检测传感器实验来获取雨势信息。
本篇博客,我们将使用U型光电传感器实现一个简单的测速工具。本实使用的元件简单,实验的原理也非常简单。
通过本系列博客前几篇文章的介绍,我们已经体验过了许多传感器元件,它们大多非常简单,可以直接对其进行数据读取或写入,无需复杂的指令配置。本篇博客,我们将介绍一个相对复杂的元件:LCD屏。当今大多数常见的电子设备为了便于用户操作,都会配备一块LCD液晶显示屏,用户通过屏幕可以获取到设备的相关信息方便使用。下面,我们将尝试使用树莓派来在LCD屏上展示信息。
你在小时候有玩过激光灯么?其模样类似于一个小型的手电筒,只是其光线十分集中,亮度强,并且通过不同的滤片,可以在墙上或地上打射出不同的图案,十分有趣。本实验,我们将找回童趣,使用触摸传感器和激光灯传感器来实现一个简易的触控激光灯。
关于使用树莓派测量温度,我们之前在学习模数转换的相关博客中已经有过应用。其实除了使用传统的AD采集温度数据外,我们也可以通过树莓派中的单总线技术结合DS18B20传感器来更加方便精准的测量环境温度。
现在,如果你决定继续本篇博客的学习,那么我认为你已经了解了PCF8591芯片的基本用法,明白了PCF8591的接线方式,I2C总线的基本工作原理以及PCF8591的设置命令的意义和读数据的方法。
如果你跟随本系列博客阅读到此,那么我相信,你已经能够使用树莓派的GPIO接口做许多有趣的事情了。但是不知你是否有发现,GPIO功能接口无论是输入还是输出,都只有高电平或低电平这两种选项,抽象到数学中,即只有0和1两种数值选项,这种离散数值的信号我们将其称为数字信号。更多时候,我们需要使用的元件并非只有开和关两种状态,这时候就需要用数值连续的信号来表达,这种连续的信号我们称之为模拟信号。本篇博客,我们将初步涉猎在树莓派上如何处理模拟信号。
通过本系列博客的前几篇文章,我们已经掌握了树莓派应用开发的基本方法。很多时候,树莓派可以做什么更多的取决于我们的创造力。本篇博客,我们将通过实践来学习在树莓派开发中常用的两个开关元件:倾斜传感器与震动传感器。
前面博客中,我们尝试使用开关控制有源蜂鸣器的播放。有源蜂鸣器的一大特点是使用简单,无需复杂的程序控制即可发声,然而其缺陷也很明显,其发声的频率是一定的,我们无法通过频率控制器音调高低。本次实验,我们将尝试使用无源蜂鸣器来进行音乐的播放。
在本系列的前几篇博客中,我们使用桌面软件控制过红绿灯,也编程点亮过炫彩的3色LED 灯。在这些实验的过程中,相信你对树莓派GPIO引脚如何输出高低电平,以及如何使用PWM技术来控制电压输出等都有了了解。本篇博客,我们将再探索一些树莓派编程更多新鲜好玩的领域,来尝试使用硬件来控制硬件。
通过前面的实验,我们已经知道,双色的LED灯内部封装了红绿两个发光二极管,其有3个引脚,其中1个引脚是共用的(共阴或共阳),对于共阴型的双色LED灯,控制另外两个引脚的高低电平来分别点亮红灯或绿灯。对于RGB3色LED灯也类似,只是其内部封装了3个发光二极管,分别可以发出红光,绿光和蓝光。其有4个引脚,1个引脚共用和3个控制发光二极管的引脚。
双色LED灯实验是入门树莓派GPIO外设编程的最简单的实验项目,我们也以其投石问路,来进入树莓派的编程世界。
树莓派开发设计的初衷是为了学生们能够更加方便的进行编程学习,但其一经发布,其实际上所得到的应用要比设计之初所预想的广泛许多。其本质是一款尺寸只有信用卡大小的微型电脑,虽然其是微型电脑,但其性能十分强大,并且支持输出音视频,支持标准USB外设,以及集成了蓝牙等通信芯片。我们可以在台式电脑上进行的工作,几乎都可以在树莓派上进行。其麻雀虽小,但五脏俱全,与普通台式电脑不同的是,树莓派暴露了GPIO接口,我们可以十分方便的使用树莓派控制各式各样的外设和传感器,可以DIY各种有趣的电子设备。