<太阳能板清洁器DEMO>2015年的毕昇杯比赛作品,用时两天,整体设计思路很简单: [机械结构]: 清洁器主体采用角钢搭建,用钢锯切割好以后,上螺丝,走线用的尼龙扎带捆绑: 清洗滚轮采用棉线滚轮,作品只是个模型机,没有续水管和清洗液储存器: 清洁器的运动方式采用双轮差速办法,在清洗器的前边安装了个减速电机,后边跟了两个万向轮,电机的差速可以形成轨迹方向的变化: 太阳能板的边缘检测采用的是红外对管,红外对管的原理很简单,采集回来信号进电压比较器,用可调电阻控制比较电压,增加对于环 境的适应能力…
在一些软件系统中,需要用到手写涂鸦的功能,然后可以将涂鸦的结果保存为图片,并可以将"真迹"通过网络发送给对方.这种手写涂鸦功能是如何实现的了?最直接的,我们可以使用Windows提供的GDI技术或GDI+技术来实现绘图功能.但是,要实现一个如此简单的涂鸦板,也不是那么容易的事情.幸运的是,我们可以直接使用OMCS提供的内置集成了这种功能的一个WinForm控件HandwritingPanel. HandwritingPanel控件的主要接口如下图所示: /// <summary&…
Angular复习笔记4-模板 简介 模板是一种自定义的标准化页面,通过模板和模板中的数据结合,可以生成各种各样的网页.在Angular中,模板的默认语言是HTML,几乎所有的HTML语法在模板中都是适用的,但<script>标签是被禁止的,主要是为了防止JavaScript脚本注入攻击(即XSS).同时一些HTML元素在模板中并不起什么作用,比如<html>.<body>.<base>等.除此之外,在Angular中可以通过组件和指令对模板的HTML元素进…
前言   目前主流国产芯片为RV11XX.RK33XX.Hi35XX系列,本系列开启Hi3516系列的开发教程.   Hi3516DV300芯片介绍   Hi3516DV300为专业行Smart IP Camera Soc. 主要特点      芯片逻辑框图    Hi3516DV300 HD IP专门用于做摄像机解决方案      开发板 开发板实物    开发板资源        开发版本提供资料   总的资料如下:    我们主要用到的就是"03硬件文档"和"04海思原…
iCore3 Demo V1.0 程序说明 一.概要 本资料包包含5个文件夹: 1.“arm”里是 icore3上 arm的程序包,开发环境为 KEIL 5.17: 2.“fpga”里是 icore3 上 fpga的程序包,开发环境为 QuartusII 15.0(好像低版本的也可以打开): 3.“相关软件”里包含 putty 终端软件和 UDP 调试软件: 4.“屏幕截图”为工作时的截图: 5.“驱动”为板载 usb 转 uart的驱动程序,本实验之前需要安装到计算机. 二.测试准备工作 为了…
iCore4 Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17: 2.“fpga”里是iCore4上FPGA的程序包,开发环境为QuartusII13.1: 3.“相关软件”里包含putty终端软件和UDP调试软件: 4.“屏幕截图”为工作时的截图: 5.“驱动”为板载usb转uart的驱动程序,本实验之前需要安装到计算机. 二.测试准备工作 为了运行测试程序,需要做一些准备工作. 1.  通过网线把iCor…
iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPGA的程序包,开发环境为QuartusII13.1: 3.“相关软件”里包含putty终端软件: 4.“屏幕截图”为工作时的截图: 5.“驱动”为板载USB转UART的驱动程序本实验之前需要安装到计算机. 二.测试准备工作 为了运行测试程序,需要做一些准备工作. 1.  将FPGA配置跳线置于PS模式…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
原来这个项目,一直想做成CS模式的,BS模式对于炉石这样的游戏来说比较困难. 暴雪到现在也只出了 Windows 和 iPad版本的炉石,最大的问题还是在于如何在小屏幕下,实现最佳的客户体验. Windows和iPad的屏幕不会太小,所以操作起来不会出现很大的问题,但是如果是手机的话,对于操作的客户体验是一个巨大的挑战. iOs系统还可以限制iPad上运行,不能在iPhone上运行.Android的话,估计很难区别到底是Pad还是Phone. (iPhone通过特殊手段还是可以运行炉石的) 如果…
c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率. duilib的SVN地址:http://duilib.googlecode.com/svn/trunk 下载后运行DuiLib.sln 编译时可能会遇到几个报错. 0.开发环境本身有问题,比如用win7没有装win7sdk之类的. 1. TestApp1…
demo地址:https://github.com/googlesamples/android-architecture 在这个项目里,每个包的分工都很明确,大体上来说,一个包会对应一个界面.一个界面就会对应一个MVP. M:还是模型层和业务层 V:视图层.Activity或者Fragment,在这份代码里面,Google是把Fragment当作一个V,而不是Activity P:Prensenter,用来控制V. 按我的理解是,MVP主要就是通过P来解耦M和V,P用来沟通M和V,使得两者不必直…
一.Flask简介 Flask 是一个 Python 实现的 Web 开发微框架.官网:http://flask.pocoo.org/ 二.Demo 1.代码结构 . ├── blog.py ├── static │   ├── css │   │   └── index.css │   ├── images │   │   ├── cat.jpg │   │   └── sheying1229.jpg │   └── js └── templates ├── index.html ├── lo…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
一.模板简介 此文中的学习笔记部分资料是来自于thinkphp官方文档,http://document.thinkphp.cn/manual_3_2.html#template 本章的内容主要讲述了如何使用内置的模板引擎来定义模板文件,以及使用加载文件.模板布局和模板继承等高级功能.ThinkPHP内置了一个基于XML的性能卓越的模板引擎 ThinkTemplate,这是一个专门为ThinkPHP服务的内置模板引擎.ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种…
前言 看到这篇文章之前,可能很多小伙伴都没听过shiro,那么shiro是什么呢?shiro是Apache基金会下一个非常有名的开源项目(项目官网: http://shiro.apache.org/ ),官网是这样介绍的: Apache Shiro™是一个功能强大且易于使用的Java安全框架,它执行身份验证.授权.加密和会话管理.使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序-从最小的移动应用程序到最大的Web和企业应用程序. 接下来就让我们近距离地了解shiro吧. 一.创建…
c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率. duilib的SVN地址:http://duilib.googlecode.com/svn/trunk 下载后运行DuiLib.sln 编译时可能会遇到几个报错. 0.开发环境本身有问题,比如用win7没有装win7sdk之类的. 1. TestApp1…
flask框架使用jinja2模板引擎.简单的说,模板就是一个纯html文件中夹杂着占位符,在渲染模板时用真实变量值替换占位符,就形成了最终的前台页面. 1.模板存放位置: 默认情况下,flask在根目录下的templates文件夹下寻找模板: 2.渲染模板: render_template('模板名') 3.变量表示: 使用下面形式的占位符表示变量 {{ var }} 4.jinja2支持流程控制,循环,宏,模板继承,所有的语句都要写在以下形式的占位符中: {% if %} {% else %…
前段时间做的一个小项目,要求上位机在打开时候,以打开软件的系统时间的建立一个txt文件来存储下位机发送来的数据. 在第一版上位机上,取名的办法太弱了,先是读取系统时间,然后截取字符串,太笨拙.昨天,查了查资料,发现了C#自身 就可以清楚地读出时间. System.DateTime.Now.Year System.DateTime.Now.Month System.DateTime.Now.Day System.DateTime.Now.Hour System.DateTime.Now.Minut…
//图表的X轴刻度线是否显示 this.zedGraphControl1.GraphPane.XAxis.MajorGrid.IsVisible = true; //图表的X轴刻度线的颜色 this.zedGraphControl1.GraphPane.XAxis.MajorGrid.Color = Color.Gray; //图表的Y轴刻度线是否显示 this.zedGraphControl1.GraphPane.YAxis.MajorGrid.IsVisible = true; //图表的Y…
在最近的小项目中,单片机中断优先级的问题,串口发送到上位机的数据有时会出现发送的数据被中断打断的问题. 于是,在上位机机上就容易出现错误,原来读取的方法是read()的方法,反复修改发送数据的格式依然没有好转. 后来讲将上位机的读取方式换成readline()问题得到了解决,且百发百中,问题可能归结于readline方法自身的特性吧. readline会一直在那里等候,知道接收到换行符"\r\n",所以在没有接收到完整数据时,会一直在那里等候数据的到来,不离不弃. 即便下位机的数据发送…
采用socket发送和接收数据的实验中,服务器采用的是网络助手作为模拟服务器端. 客户端程序流程: 应用的命名空间: using System.Net; using System.Net.Sockets; using System.Threading; using System.Timers; [1]首先新建一个Socket; [2]建立ip地址应用值; [3]Socket连接; [4]判断连接状态: Socket s = new Socket(AddressFamily.InterNetwor…
用C#编写上位机,基本流程是[1]串口配置,[2]串口发送数据,[3]串口接收数据. [1]串口配置 串口的属性配置包括: No.1串口端口号 No.2串口波特率 No.3串口数据位 No.4串口停止位 N0.5串口校验位 串口的上述属性,分别将值存储进combobox里边,然后带用户根据实际情况自己进行选择,设置也比较简单. 串口的打开和关闭,采用try-catch这对组合,可以自动打开和关闭处理过程中出现的问题. [2]串口发送数据 串口发送数据,采用串口的write属性,该属性有三种重载方…
# -*- coding:utf-8 -*- from flask import render_template,Flask app=Flask(__name__) @app.route('/hello/') @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html',name=None) if __name__=='__main__': app.run(debug=True) ''…
 1.  函数模板 函数模板是一个独立于类型的函数,可作为一种方式.产生函数的特定类型版本号. // implement strcmp-like generic compare function // returns 0 if thevalues are equal, 1 if v1 is larger, -1 if v1 is smaller template <typename T> int compare(const T&v1, const T &v2) { if (v1…
这里只记了学习以下博客后,自己做的一个总结. 来源:http://blog.csdn.net/fengchao2016/article/details/72726101 profiles定义了一些不同类型的变量,在这些变量中处于激活状态的才会被真正使用,填充到resources指定的文件中的${},或者filter中书写的路径的${} 里去. filters定义了一些过滤规则,就是一些文件路径,其下的filter写什么那么就保留什么,剩余的就会被忽视 resources定义了一些目录,也就是被过…
模板设计模式:就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现. 优点:使用模板方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求. 缺点:如果算法骨架有修改的话,则需要修改抽象类. 策略模式和模板设计模式都封装算法,前者使用组合,后者使用继承. /** * @author oy * @date 2019年9月8日 下午8:52:00 * @version 1.0.0 */ public abstract class GetTime { public st…
  Indian scientists have designed a new device they hope will solve one of the biggest problems with the use of solar energy. 印度科学家设计了一种新的设备,希望能够解决一个太阳能利用中的最大问题.   They call the device a solar tree. 他们将设备称之为太阳能树.   Solar trees have metal "branches&qu…
原生node实现简易留言板 学习node,实现一个简单的留言板小demo 1. 使用模块 http模块 创建服务 fs模块 操作读取文件 url模块 便于path操作并读取表单提交数据 art-template模块(需npm安装) 服务端渲染 2. 服务端 2.1 服务端代码 var http = require('http') var fs = require('fs') var url = require('url') var template = require('art-template…
前言   搭建Hi3516的基础虚拟机,为交叉编译环境搭建前期工作.后续会编译一个基本的C语言程序Demo,在HI3516上跑.   虚拟机   开发本对虚拟机做了一些基本要求,如下图:    其实重点是x64位的.  笔者使用ubutn18.04 x64位系统,制作一个空系统,使用vmware虚拟机只做一个改系统的空系统(如何安装虚拟机,请自行百度).     开发板调试串口连接 串口物理连接   将串口连接到PC电脑上,并将串口PC与虚拟机连接,是虚拟机可以打开串口.  串口物理接线:&em…
前言   上一篇已经将himpp套入qt的基础上进行开发.那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤.   受限制   因为直接配置sample的vi比较麻烦,确实是困难的,其实就是配置驱动,所以我们只能从开发板的demo入手,去在相等条件下探测可能的留,从vpss中拿取后,进行软编码.  当然,如果不用qt还有一种方式,也就是大量开发海思人员使用的方式,是基于sample写一个编码程序,然后使用本地socket交互,其实绝大部分海思开发者都是这样开发的…