自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Spyder调试过程备记20200201

在Spyder的python程序怎么调试,特别是需要带命令行参数时。左边是代码区,双击左侧可设置断点。右侧上部是变量及值,下部是IPython console控制台,调试程序的命令就在这里输入第一种:直接运行,按F5或者在控制台输入“runfile('C:/Users/Administrator/Desktop/ob.py',args='--image=e05.jpg', wdir='...

2020-02-01 19:27:56 649

原创 深度神经网络(多层感知机)反向传播算法(BP-back propagation)实现备忘录

在AI-100第六周多层感知机和深度神经网络学习中,有一个算例(两层网络,1个两维的输入数据,每层神经元数量都是2个,激活函数为sigmoid函数,损失函数为二次损失),可以通过手工计算各层前馈运算值,通过损失函数计算各权重参数的梯度(损失函数的反向传播算法),更新完各层权重参数后,再次前馈-反向-前馈-反向……-前馈,直到模型输出值与标签值基本相等。首先,自己手动...

2019-08-14 11:13:12 1150 1

转载 五步完美实现 Win10 + Ubuntu 16.04 双系统启动

在我的i7-4790(8核)、16G内存、GTX1060(6G)显卡、250G固态硬盘、4T机械硬盘的台式机上安装win、ubuntu双系统。1.固态硬盘120为C盘,安装win10,剩下的空间为“未分配”状态,预留给linux系统用。机械硬盘正常划分。2.按照网上找的以下步骤安装即可,就是安装空间不再需要压缩原win的某个盘了,直接用预留的“未分配”空间即可。以下是https://w...

2019-08-03 22:18:02 660

原创 原生Python27的pip和PIL安装总结

1.pip的下载和安装https://blog.csdn.net/zhenaoxi1077/article/details/80036182,下载了pip-10.0.1.tar文件,安装中出现No module named setuptools问题。2.Python2之No module named setuptools 安装piphttps://blog.csdn.net/L1878...

2019-05-16 11:45:56 1189

原创 物联网方案之“Android+Apache服务器(PHP+Mysql)+Arduino(+以太网盾板)”(四.点播客户端)

记录《用于物联网Arduino 项目开发实用案例解析》第七章 物联网模式:点播客户端的实践过程(没有用ios,采用android)一、Apache服务器部分1.安装WampServer3.0,其中apache2.4.17……见下图本机127.0.0.1,或者192.168.31.154都可以打开。但同一局域网的其他电脑没法打开(浏览器访问报的一直是403 Forbidden,报 Y...

2018-12-28 23:57:03 940 1

原创 物联网方案之“Android+MQTT+Arduino+以太网盾板”(三.远程遥控)

记录《用于物联网Arduino 项目开发实用案例解析》第六章 物联网模式:遥控的实践过程一、android部分1.MainActivity.javapackage com.lxm.lightingcontrolsystem;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;impo...

2018-12-27 06:17:43 1386

原创 物联网方案之“Arduino+以太网盾板+MQTT+Android”(二.远程入侵检测系统)

记录《用于物联网Arduino 项目开发实用案例解析》第五章 物联网模式:实时客户端的实践过程一、Arduino 部分#include <SPI.h>#include <Ethernet.h>#include <PubSubClient.h>//1.网络连接所需变量及函数byte mac[] = { 0xDE, 0xAD, 0xBE, 0xE...

2018-12-22 23:08:25 793

原创 将Arduino接入以太网

通过插入W5100 以太网盾板,实现Arduino NUO 接入以太网的想法#include <Ethernet.h>//#include <SPI.h>//mac地址可以是随便的48位地址,只要设备间不相互冲突就行byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };IPAddress staticI...

2018-11-16 22:39:33 10153 6

原创 物联网方案之“Arduino+以太网盾板+Node-RED”(一)

最近学习了《用于物联网的Arduino项目开发实用案例解析》,配置了Arduino NUO和以太网盾板,在《Arduino程序设计指南》的帮助下成功实现了将Arduino采集的传感器数据通过HTTP GET的方法发送给了本局域网架设的node-red服务器以及https://goiot.cc网站架设的node-red服务器上,数据经服务器处理后成功返还给Arduino并在Serial串口终端进行了...

2018-11-15 15:42:12 2762

原创 QT安装心得2018-3-24

91arm阶段三的课程用到了QT集成开发安装包(qt-sdk-linux-x86-opensource-2010.01.bin),但没有给下载方法。在网上也找不到,经查看各位博友的文章,总结如下:1.集成的QT及QT Creator安装比较easy,课程就是这个安装方法。本文介绍的是QT和QT Create独立安装的方法,当然,也不是很难。首先说明一下:QT是一个类库,QTCreator是一个框架...

2018-03-24 22:14:57 1473

原创 基于ARM的智能灯光控制系统总结(19-网页CGI进程之makefile)

#Make the cgi programsCC=arm-linux-gnueabihf-gcc#CC=gccCFLAGS= -g area_add.cgi:area_add.c $(CC) $(CFLAGS) -o $@ $^area_add_post.cgi:area_add_post.c $(CC) $(CFLAGS) -o $@ $^area_con.cgi:area...

2018-03-13 06:06:55 401

原创 基于ARM的智能灯光控制系统总结(18-网页CGI进程之区域管理)

区域管理cgi程序在网页上设定一个区域内所有灯光设备的开关area_con.c#include<unistd.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<sys/types.h>#include "html.h"#include "config.

2018-03-13 06:03:44 345

原创 基于ARM的智能灯光控制系统总结(17-网页CGI进程之区域添加)

区域添加同设备添加大同小异area_add.c#include<unistd.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#include "html.h"#include "config.h"#include "ipc.h"void table_tr(st

2018-03-13 05:59:53 250

原创 基于ARM的智能灯光控制系统总结(16-网页CGI进程之设备管理)

设备管理cgi程序通过网页表单中设定的灯光设备开关状态及感应设备绑定状态对硬件开关进行控制,这里程序了只写了光感设备的绑定代码。dev_con.c如下:#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include "html.h"#i...

2018-03-13 05:55:15 412

原创 基于ARM的智能灯光控制系统总结(15-网页CGI进程之设备添加)

在欢迎界面导航栏中点击设备设置->设备添加,则打开dev_add.cgi程序,一、该进程首先通过进程间通信函数向主控进程发送查询消息,主控进程将主数据结构内存中的数据加载至共享内存,cgi进程然后将共享内存的数据显示到html中。二、在html中点击表单的submit键时,cgi程序将表单中的数据提取出,修改共享内存数据,然后向主控进程发送更新消息,主控进程则将共享内存中的数据更新至主数据结...

2018-03-13 05:37:17 415

原创 基于ARM的智能灯光控制系统总结(14-网页CGI进程之网页数据提取函数)

网页html通过post或get方法将页面中的数据以键值对字符串的形式传入环境变量中,需要有一个剥离函数将各键对应的值提取出来。getvalue.h#include <stdlib.h>#include <stdio.h>#include <string.h>#define FIELD_LEN 60 //how long each name or val...

2018-03-12 06:56:54 324

原创 基于ARM的智能灯光控制系统总结(13-网页CGI进程之进程通信头文件)

网页cgi程序运行后为独立的进程,其直接读取或写入同主控程序共用的共享内存。主控程序根据cgi发送来的消息类型,将主数据结构内存中的数据更新至共享内存中,或者将共享内存中的数据更新至主数据结构内存。ipc.h#ifndef __IPC_H_#define __IPC_H_#include <sys/types.h>#include <sys/stat.h>#inc...

2018-03-12 06:50:16 387

原创 基于ARM的智能灯光控制系统总结(12-网页CGI进程之网页布局函数)

各cgi程序由于都需要进行网页布局,故将功能相近的部分封装为函数,打包进头文件。html.h#include<stdio.h>#define ERR_SHM 1#define ERR_MSG 2#define ERR_REG 3void html_head(){ printf("Content-type:text/html\r\n\r\n"); printf("&lt...

2018-03-12 06:43:20 270

原创 基于ARM的智能灯光控制系统总结(11-网页CGI进程之欢迎界面)

主控制端加载boa服务器后,新建index.html文件,其目的就是一个欢迎界面,其目录菜单均对应了不同的cgi程序。即各网页控制进程的入口。效果如下图:index.html<!DOCTYPE html><html><head> <title>SL1200智能灯光控制系统</title> <meta http-equiv="...

2018-03-12 06:36:37 458

原创 基于ARM的智能灯光控制系统总结(10-主控进程的makefile文件)

#Make the main programCC=arm-linux-gnueabihf-gccOBJ=daemon.o config.o dev_pro.o link_pro.o net_pro.o sw_pro.o sys_ipc.oCFLAGS= -Wall -o2 -lpthread -gznkg2018:$(OBJ) $(CC) $(CFLAGS) -o $@ $^dae...

2018-03-11 22:04:11 247

原创 基于ARM的智能灯光控制系统总结(9-主控进程的设备状态更新线程)

独立的线程控制项目中硬件模块的开关状态sw_pro.h#ifndef __SL2000_SW_IPC_H_#define __SL2000_SW_IPC_H_void * sw_pro(void * arg);//状态更新线程void area_sw_update(void);//更新区域状态int dev_sw_update(struct sys_dev * head);//更新设备开...

2018-03-11 21:57:50 275

原创 基于ARM的智能灯光控制系统总结(8-网络客户端进程)

网络客户端即为tiny6410,其运行一个独立的程序,该程序控制其连接的灯光、感应、继电器等设备。通过连接服务器的ip及端口,同服务器建立链接,反馈服务器的查询命令,根据服务器传来的控制命令操作灯光等设备。net_light.c#include <stdio.h>#include <stdlib.h>#include <errno.h>#include &...

2018-03-11 21:45:17 310

原创 基于ARM的智能灯光控制系统总结(7-主控端网络监听、连接及控制线程)

主控进程中开启的网络线程用于监听客户端的连接请求、连接成功后通过网络协议同客户端通信,比如查询客户端设备的在线状态、控制其开关状态等。net_pro.h#ifndef __SL2000_NET_H_#define __SL2000_NET_H_#define DEF_PORT 6899int socket_init(int port);void * client_pro(void * a...

2018-03-11 21:29:26 342

原创 基于ARM的智能灯光控制系统总结(6-设备动态更新线程)

硬件接线中将5-3.3v电压转换模块的电源线同某一感应模块的电源线绑在一起,实现同时插拔。通过检测电压转换模块连接的GPIO口电平状态,即高电平时说明其绑定的感应模块也插上了。网络端的设备则根据net_pro线程中对net_flag的动态修改结果,将网络设备加入链表dev_pro.h#ifndef __SL2000_DEV_PRO_H#define __SL2000_DEV_PRO_Hint...

2018-03-11 21:10:25 343 1

原创 基于ARM的智能灯光控制系统总结(5-网页cgi进程与主进程之间进行通信的线程)

通过消息队列接受网页cgi进程不同的事件请求,并利用共享内存实现主控程序与网页程序的数据共享sys_ipc.h#ifndef __SL2000_SYS_IPC_H#define __SL2000_SYS_IPC_H#include "config.h"#include <sys/types.h>#include <sys/ipc.h>#include <s...

2018-03-11 16:50:45 606

原创 基于ARM的智能灯光控制系统总结(4-设备链表)

通过链表数据结构,把设备链起来,方便数据实时动态增加和删除但链表数据结构在内存中单独开辟了空间,通过函数实现同全局设备数据机构之间的更新链表的功能包含了:创建头结点,增加、查找、删除结点link_pro.h#ifndef __SL2000_LINK_H_#define __SL2000_LINK_H_struct sys_dev * Create(struct sys_dev main_de...

2018-03-11 12:04:14 444

原创 基于ARM的智能灯光控制系统总结(3-主程序及全局数据结构)

主程序包含了全局数据结构定义、系统配置文件生成或加载、建立四个独立线程并运行。一、全局数据结构类型封装每个设备的属性形成设备结构体类型(包含了:设备名、设备号、连接状态、开关状态、指向的下一个设备指针等)封装每个区域的属性形成区域结构体类型(包含了:区域名、组成区域的设备号数组、区域开关状态等)总数据结构类型:将上面两个类型数组化,从而开辟了可包含多个设备及区域的内存空间同时将各个硬件设备及网络设...

2018-03-11 11:06:18 832

原创 基于ARM的智能灯光控制系统总结(2-驱动开发)

本项目设计的硬件为:(1)nanopi s2(linux nanopi2 3.4.39)以及其连接的继电器、5v转3.3v模块、光感设备、声感设备,使用linux-3.4.y-nanopi2-lollipop-mr1.zip内核开发字符驱动程序(2)tiny6410(linux FriendlyARM 2.6.38)以及其连接的继电器、红外感应器,使用linux-2.6.38-20110325.t...

2018-03-04 19:47:48 1158

原创 基于ARM的智能灯光控制系统总结(1-项目介绍)

经过3个月的不断摸索,终于把91arm学堂阶段二的项目实践内容基本上做了出来(视频教程中的代码并不全),在此把相关心得和代码保存下来,供自己和学友们参考系统硬件:主控模块:nanopi s2(cortex-A9 四核s5p4418)、5v转3.3v模块、光感、声感、5v继电器、面包板及LED灯、串口转USB调试接口等无线网络模块:tiny6410(ARM11 三星S3C6410)、红外传感、继电器...

2018-03-04 11:27:52 2860

原创 nanopi 2s及tiny6410的开机自动加载驱动方法

在网上搜了许多,但都不得力,最后通过修改nanopi 2s 的 /etc/rc.local以及tiny6410的/etc/init.d/rcS文件即可就在其最后添加insmod /root/drivers/mic_driver.ko (即命令加具体的驱动路径就OK了)。nanopi 2s的修改如下:tiny6410 的修改如下:修改好后,直接reboot就ok了。总结实践,可得如下心得:1.nan...

2018-02-25 09:38:20 388

转载 三种方式控制NanoPi2的GPIO

http://blog.csdn.net/huayucong/article/details/51729454我目前找到了三种方式控制NanoPi2的IO口:通过sysfs(/sys/class/gpio)来操作;通过内核的gpio_set_value函数来操作;通过配置寄存器(0xC001X000)来操作。1. 通过sysfs来操作这种方法是官方教程给出的办法,这里只给出链接,不再详细解释。ht...

2018-02-13 07:25:57 752

原创 BOA学习心得(六)

在我的CGI程序中,通过link来引用css文件,怎么都显示不出来(即把style.css文件放到不同的文件夹中,如/urs/lib/cgi-bin/;/var/www/中,或者把链接路径改为/cgi-bin/style.css,甚至写成绝对路径/usr/lib/cgi-bin/style.css也不行),干脆就直接把css写进了cgi程序中就ok了(即把<style>……</s...

2018-02-13 07:16:46 254

原创 二位数组(即字符串数组)心得

一个简单的试验函数#include #include int main(){ char item_name[5][10]; strcpy(item_name[0],"设备名称"); strcpy(item_name[1],"节点信息"); strcpy(item_name[2],"设备类型"); strcpy(item_name[3],"连接状态"); strcpy

2018-02-06 07:31:57 447

原创 BOA心得(五)

问题:一个简单的index.html中超链接指向的cgi程序怎么都无法运行,直接弹出的是下载页面·解答:原因是搞错了cgi程序的存放位置,查看/etc/boa/boa.conf可知,boa服务器配置的cgi脚本的运行目录是/usr/lib/cgi-bin/ScripAlias  /cgi-bin/   /usr/lib/cgi-bin/ ,前面的/cgi-bin/只是一个别名。

2018-02-04 13:04:00 140

原创 运算符优先级引发的shmat函数Identifier removed 错误

在共享内存使用过程中出现了shmat函数Identifier removed 错误,通过#ipcs -m 可以看到shmget开辟的内存空间,且有shmid,但自己定义的变量shmid确一直为0,造成shmat的错误。void * set_web_shm(void){ int shmid; void * shmaddr=(void *)0; if(shmid=shmget((key_t

2018-01-31 09:53:11 985

转载 linux之GPIO的使用

S3C6410的GPIO引脚相对来说比较多,而且大部分引脚都具有多重复用功能,如何在linux上用最简单的方式来控制GPIO这需要我们好好研究一下底层的代码了,其实方法有很多种,鉴于在操作系统端控制GPIO并不像控制传统的单片机那样。这里我将提及一种方法来讲述,这种方法也是我至今看到最简单的方法首先我们打开linux-3.0.1\arch\arm\plat-samsung\incl

2018-01-22 07:05:53 1132

转载 BOA学习心得(4)

在centos中通过arm-linux-gnueabihuf-gcc 交叉编译成我nanopi s2的文件格式后,将boa复制到了/bin 中,在/etc中新建boa文件夹并将boa.conf拷进去,开发板的/etc中本身有mime.type文件故就没拷。运行boa程序出现gethostbyname:: Success后就反应了,ps中也没有boa进程,boa服务器没有启动起来。参考了下面的经验后

2018-01-13 21:01:55 298

原创 BOA学习心得(3)

cgi程序是可以直接通过BOA服务器运行的,如192.168.1.100/test.cgi。原c代码中通过 printf("");将CSS样式文件引入cgi程序,但并没有在编译时将css中的内容像预编译一样写进来,后期在开发板上还是应当将css文件拷入同级目录等,从而使得cgi程序引用。#include int main(int argc, char *argv[]){ prin

2018-01-13 11:54:03 223

原创 nanopi 2s 5-3.3v电压转换模块驱动

在阶段二项目智能灯光控制系统中利用5-3.3v电压转换模块来探测光感、声感的连接与否,原理是让转换模块和光感模块的电源线一起插拔。插上电时,转换模块输出3.3v电压至其连接的GPIO口,gpio口检测到高电平则知道了光感模块已接入系统。拔开电源线则转换模块输出为零,gpio口未检测到高电平则知道了光感模块已离开系统。这是个基础的GPIO口检测输入信号的驱动,关键在于要设置gpio的下拉电阻

2018-01-02 06:26:11 654

转载 nanopi s2 驱动开发心得(二) s5p4418的GPIO函数

硬件环境开发板:nanopi2 (cpu:A9 s5p4418 )软件环境内核版本: linux3.4.39 交叉编译器:arm-linux-gcc version 4.9.3 (ctng-1.21.0-229g-FA) 64位系统版本Linux3.4内核GPIO驱动说明Kernel 2.6.32版本以上提供了gpio口管理的库文件/kernel/dri

2017-12-30 16:20:45 1249

空空如也

空空如也

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

TA关注的人

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