MQTT协议与mosquitto的安装使用

MQTT (Message Queuing Telemetry Transport,消息队列遥测传输) 是一种标准化的发布/订阅消息传输协议。它是一种非常轻量级的协议,由于对带宽需求很低,从而成为了 M2M 通信或物联网应用的理想选择,现在已经成为这类场景最常见的协议之一。 发布/订阅发布订阅模式比轮询的效率高很多。发布订阅是MQTT协议的核心,除了基于同一个消息代理的发布者和订阅者之外,还有一些其...
阅读(4535) 评论(0)

Spark--用Java开发微服务

这个说的Spark不是apache的Spark,这边说的是一个java的web application的框架。 官网:http://sparkjava.com/我做过一段时间的后台架构开发,使用的是微服务架构,主要使用了C++和PHP,大部分是PHP,C++只是用在API结构频率很高的地方,大部分的还是使用的PHP完成,使用C++是比较痛苦的,虽然借助与nginx,不需要解析HTTP协议,但是还是...
阅读(5902) 评论(0)

I2C总线协议

毕业设计中使用到了AT24C04器件,其是Ateml公司出品的,是一种低功耗CMOS串行EEPROM,其使用两线串行的总线和控制器进行通讯。其内部保存的数据在掉电的情况下可以有40年以上的有效期。其采用8 脚的DIP 封装,易于使用。简单来说,AT24C02是一款能在断电的情况下依然能够长时间存储数据的芯片。可以使用I2C协议总线与AT24C04进行交互。I2CI2C总线协议概论I2C总线是一种由数...
阅读(3551) 评论(0)

CC2530+74HC164矩阵键盘的设计

最近个大网盘都发出通知,用户的数据将会被清楚,其中就有金山快盘,上大学的时候用的金山,很多重要的资料在其中都保存了一份。现在将其全部下载了下来,然后发现了我的毕业论文,看了一遍,就有了这系类文章。今天将矩阵键盘的设计和编程。 背景我的毕业设计是基于ZigBee网络的一个hub系统,协调器节点作为中枢,控制器和被控制器都连接在这个中枢上。控制器上使用矩阵键盘那就很平常了。CC2530的端口数比较小,这...
阅读(7115) 评论(0)

基于C++11的事件驱动框架

闲来无事,系统捣鼓C++。之前在signal-slot中提到事件循环,不过那个实在写的太挫。现在写了一个说的过去的。项目地址: https://github.com/ZhouBox/moos.git下面简单的说明下。 task完成实现对事件循环的一个任务的封装。 task_policy实现了各种task的策略。 task_queue是事件队列 looper是一个事件循环。 moos_...
阅读(3975) 评论(1)

使用内存快照来加速嵌入式系统的启动

用过virtual box和vm的人都知道一个休眠功能,关机之后,从新开始使用时,还会加载到休眠时的状态,这个很方便人们的使用,可以你开启你的工作环境需要很多的时间。这其中就使用到了内存快照的技术,将当前运行的虚拟机的内存状态保存到一个文件中,在启动的时候加载这个文件,然后就可以恢复到当前的现场,从而缩短了启动到可用的时间。在嵌入式系统的开发中,有很多场景对启动有很多要求,从上电到嵌入式应用显示需要...
阅读(2364) 评论(0)

C++11中多线程例子

C++11开始,自带线程相关的操作库。这里举个例子,以并发编程最经典的例子,生产者消费者的例子来示例在C++11使用标准库提高的线程库来进行并发编程。这里为了方便线程的使用,参考了android源码中对thread的封装。class Thread { public: Thread() : m_running(false) { } virtual ~Thr...
阅读(1077) 评论(0)

利用可变模板参数实现log功能

在以前的博文中,写过类似的课题。使用的是下面这种方法。// 递归出口 template void logOld(const T& t) { std::cout << t << '\n'; }// 递归展开 template void logOld(const T& t, const Args& ......
阅读(1669) 评论(18)

前后端分离开发部署模式

身体出了点小毛病,这周基本在家养病,转文章一篇,以激励学习。在开始讨论这个话题之前我们先来认识一下传统的开发模式。一、传统开发模式相信很多做过Web开发童鞋应该都会经历这样一种开发模式,利用后端语言提供的模版引擎编写HTML/XML页面,比如: PHP 开发有 Smarty模板引擎 Java web工程有jsp页面 Python 各个Web框架都有各自的模板引擎 NodeJS 的express你懂得...
阅读(5871) 评论(0)

Android系统input系统(1)

我们平台的build system移植于android,在android组件中,我们使用了Binder驱动,来实现进程间的交互,对于input系统,因为我们将android的java application framework换成了Qt,为了实现更好的图形渲染,主要是我们需要实现主从设备的显示屏公用,这样我们需要将从设备的surface传输到主设备的来实现不同设备间的surface合成,来实现主从...
阅读(2324) 评论(0)

android的surfaceflinger原理讲解

SurfaceFlinger是Android multimedia的一个部分,在Android的实现中它是一个service,提供系统范围内的surface composer功能,它能够将各种应用程序的2D、3D surface进行组合。在具体讲SurfaceFlinger之前,我们先来看一下有关显示方面的一些基础知识。 1、原理分析让我们首先看一下下面的屏幕简略图:每个应用程序可能对应着一个或者...
阅读(1062) 评论(0)

SBA--以服务为基础的架构

做过一段时间的后台架构,当时只是个小的公司用工具类app后台,并发小,业务简单,当时就快速简单的完成了,但是架构设计方面还是要好好学习的。2015年微服务架构和restful架构风格大行其道,一直想明白mircoservice和soa这两者到底有什么关系,然后在nginx官网发现了一本书,那么就来开始研究。 本篇从两者的共同开始讲起,SBA(Service-base architectures)...
阅读(1366) 评论(1)

基于nginx的TCP Proxy实现数据库读写分离

nginx很早就支持tcp proxy,但是一直不知道其使用,最近在nginx blog上看见了,一些实践者将其运用到数据库访问的负载均衡以及实现读写分离,来提高数据库的吞吐量,这里我不会讲具体的搭建实现,只是最一些理论上的设计猜想。直接上图 db集群,分为读db和写db,写db向读db同步数据。读db只能读,写db只能写,图中读写各一个,只是一个例子,实际需要根据业务来配置读写服务器比例。ngi...
阅读(2246) 评论(2)

python简单的绘制折现图

在做一些数据统计时,折现图能够看出变化的趋势,最近查内存泄漏,跑了一个晚上的数据,想查查,那么折现图能够给一个很直观的结构。我们使用pylab包来绘制图形。 我使用pip来管理python包sudo pip install pylab时间比较长,其会下载一些依赖的包。#!/usr/bin/pythonimport os import matplotlib.pyplot as pltallFile...
阅读(2078) 评论(2)

C++中实现自动注册的工厂

很长时间没有跟新博客了,不是博主懒,是因为博主再帮研究生妹子弄硕士论文,定位方面的,被imu,行人航迹,激光匹配各种虐,不说了,都是泪。Factory模式,在工程中多用了创建派生类实例,内部一般使用switch-case根据不同的key去创建不同的派生类对象。switch(Key) { case A: return new A; case Bw: r...
阅读(2578) 评论(2)
235条 共16页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:538300次
    • 积分:7319
    • 等级:
    • 排名:第2857名
    • 原创:213篇
    • 转载:18篇
    • 译文:4篇
    • 评论:255条
    微信
    zhouxiangbetter
    博客专栏
    架构设计

    文章:27篇

    阅读:53348
    c++

    文章:35篇

    阅读:43140
    qt

    文章:53篇

    阅读:215664
    最新评论
    Test