在上一篇文章中.我们解说了怎样用开源码库CocoaAsyncSocket来实现iOS上的UDP和TCP数据通信.那么在本文中.我们将介绍在CocoaAsyncSocket的基础怎样使用UDP和TCP连接EV3的机制. 之所以我们能够通过无线连接EV3,根本原因在于EV3的源码内建了一套无线连接通信的机制. 这套机制是这种: 1)EV3在连接到无线网络后,就不断地从3015port发送UDP数据.数据的格式例如以下: Serial-Number: 0016533f0c1ePort: 5555Nam…
在上一篇文章中.我们通过编写EV3 Port Viewer项目实现了iOS监測EV3的实时端口数据. 程序最核心的部分就是我们的开源码库iOS_WiFi_EV3_Library. 那么,在本文中,我们将具体介绍我们这个库的编写.为了完毕这个库,本人參考了网上许多资料,主要包括EV3的源码,win版本号的代码库以及Monobrick相关以及网上的各种资料,在此就不一一列举了. 因为水平有限,本代码库还存在各种问题,望使用的读者见谅. 大家也能够在这个基础之上自己进行改造完好. 为了具体说明代码库的…
在前两篇文章中,我们对iOS与EV3混合机器人编程做了一个主要的设想.而且介绍了要完毕项目所需的软硬件准备和知识准备. 那么在今天这一篇文章中,我们将直接真正開始项目实践. ==第一个项目: EV3 Port Viewer== 项目目的:在iOS设备上通过WiFi连接EV3而且读取EV3每个端口的数据. 大家能够在App Store上搜索EV3 Port Viewer,那么我已经做了一个范例App公布了.下载地址为:https://itunes.apple.com/cn/app/ev3-port…
乐高Mindstorm EV3智能机器人(下面简称EV3)自从在2013年的CES(Consumer Electronics Show美国消费电子展)上展出之后,就吸引了全球广大机器人爱好者的眼球!EV3相比其上一代机器人NXT最大的提升就在于其硬件上.除了更强大的ARM处理器,并载入了Linux操作系统之外.EV3还配备了蓝牙,支持外接USB,外接WiFi.由于有了这么多的硬件提升,EV3最酷的特性在于EV3支持iOS设备! ! .这使得我们能够使用iOS设备比方iPhone来控制EV3.乐高…
Windows平台下,“宋体”.“微软雅黑”.“Courier New(编程字体)”用的比较多,看的也习惯了.那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 系统下字体文件夹(C:\Windows\Fonts) ,拷贝如下文件到当前Ubuntu用户目录 -/123 宋体:simsunb.ttf 和 simsun.ttc 微软雅黑:msyhbd.ttf Courier New:courbd.ttf.courbi.ttf.couri.ttf 和 cour.…
前言 关于混合C#和C++的编程方式,本人之前写过一篇博客(参见混合语言编程:C#使用原生的Directx和OpenGL),在之前的博客中,介绍了在C#的Winform和WPF下使用原生的Direct和OpenGL进行绘图,主要使用的方式是声明一个函数为导出函数,然后就可以在C#中使用这个函数. 存在的问题 之前的方式使C#调用C/C++成为可能,但是存在很多缺点,主要表现在以下几个方面: 使用extern "C" _declspec(dllexport)的声明方式只能定义C函数,无法…
HTTP协议的概念 HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型 了解C/S模式 Client(客户端)和Server(服务器)常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户:Server程序的任务是接受客户程序提出的服务请求…
本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言   老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用Ping命令Ping一下服务器看看通不通.甚至在有些情况下通过图形化的Ping命令工具对目标网络进行长测(比如:<两款增强型Ping工具:持续统计.图形化展式网络状况 [附件下载]>.<网络测试:Android版多路ping命令工具EnterprisePing[附件下载]>),可以…
[Java并发编程(五)] Java volatile 的实现原理 简介 在多线程并发编程中 synchronized 和 volatile 都扮演着重要的角色,volatile 是轻量级的 synchronized,它在多处理器开发中保证了共享变量的"可见性".可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值.它在某些情况下比synchronized 的开销更小,本文将深入分析在硬件层面上 Intel 处理器是如何实现 volatile 的,通过深入分析能帮…
Learning ROS for Robotics Programming - Second Edition <ROS机器人编程学习-第二版> ----Your one-stop guide to the Robot Operating System ——你的一站式的机器人操作系统引导 原著:Enrique Fernández,Luis Sánchez Crespo,Anil Mahtani,Aaron Martinez 作者简介:Enrique Fernández:西班牙计算机工程博士,研究…