Category Archives: Develop

New Project: Tiny H264 HD USB WebCam

:) This two weeks I am on a new challenge, I am not very happy with current exists HD h264 camera, so I decide to make one of my own.
MJPEG camera might easy to use, but it costs too much network resource. Only choice is usb + h264 camera, but current h264 camera is super big(40mm x 40mm) or super expansive(such as some famous camera on the quadcopter, even most of them are not h264).

My target is to make a super small(I will keep the size as a secret for now. :D), powerful(with high quality microphone), h264 HD USB webcam.

It is really hard to design…due to the digit and analog are very near each other.
I can use some tiny parts to make this come easy(my friend suggest DCDC XCL206A303AR-G which is made in Japan, its cost is really high, almost 1USD for each), but no challenge, no fun, so have to use my poor brain, design it from common parts in market :)

Anyway, the first version board has in factory now, good luck to myself. If everything goes smoothly, later days I will write an adapter app for it on VoCore.

Can you guess out its real size from this layout picture?
Screen Shot 2015-01-20 at 12.07.24

A simple adapter board for USON8 flash(just feel it looks good):
tool

vohttpd: light weight embeded httpd

VoCore Web Server change its name to vohttpd.
A former version has released and put into GitHub: https://github.com/vonger/vohttpd
My target is to make a httpd who has faster speed and less resource consume, the most important, it should be flexible, easy to add plugins.

vohttpd should be a basic core do not contains any unnecessary features, its main target is to provide an environment for plugins. Any features could be move to plugins and they should not appear in the core application.

Plugins are the most important part. For example, if I want to have a browser based user interface for gpio control(as my last blog shows), I just write a plugin and use vohttpd API to load that plugin, then it will be OK to use. If I connect VoCore to a mjpeg webcam, I can get picture directly from browser, do not have to code a middle adapter.
Future, we can add more javascript for the client side, just draw&drop the plugin into the browser, all function will be automatic load to VoCore, that will be cool.

Super simple, and born to be cross platform. :)

For now, load/unload/query plugins feature has done. In source code, there are two example plugins, one for test, one for online plugin control, such as upload plugin or remove plugin.

load

There are a lot of work left to do:
1. use mmap for better memory usage when receiving big file.
2. add https as an option.
3. add auth function. (But make it as plugin? or make it into vohttpd?)

I am glad to hear from you. Please leave a comment.

PS: I spend time on this project just because I really need something like this for my further use, and the development process is very interesting. :) I do not intend to replace any exists httpd, such as LuCI, uhttpd etc. They are very good too.

vonger.cn: Speed Up

There are many people in China report issue to me, my blog is very hard to open, today I find the problem finally…
WordPress load google fonts at head part, but in China the Great Firewall block all google address. So the load process is very very very slow.

Get the bad code in /var/www/html

find . | xargs grep 'fonts.google' 2> /dev/null:

Comment all of them, now the user from China or other country blocked google can view it much much faster :)

Let’s Talk About Hardware Design

Today I find some interesting, my android test phone: a white XiaoMi4 can not read SIM. I am using it to communicate with VoCore through GSM/3G/4G internet to test Cloud service( will public later :) ), so I change SIM card frequently. Unfortunately, this new phone, after about several times SIM plug in/plug out, it can not read SIM anymore.

This is the XiaoMi phone:
IMG_0078
IMG_0079

This is my old test phone:
IMG_0082
IMG_0081

This is iPhone6
IMG_0084
IMG_0083

Can you find the difference?
iPhone 6 and my old test phone SIM card metal pads are at bottom once installed, but XiaoMi is at top. So if your plug in/plug out some more, once the SIM card is not that flat, it will broken the phone’s SIM pin.

From this small issue, we know, hardware design is an true art. Every detail must consider carefully. Apple is really good at this :) XiaoMi copy the surface, but not the inside…shame.