博客 页面 30

ks讲稿

CEO陈:
大家好,我们是mostfun,一个充满活力的3D打印研发团队。我们接触了很多打印机,但它们都有一

些通病,校准麻烦,挤出机堵头,设置繁琐,材料单一。。。这些问题使得用户不能最大限度的享受这

一技术带来的便利。我们希望能做出一些改变。

CMO董:
去年,我们在国内众筹平台上进行了第一代打印机的众筹,此后一年间我们收到了近400份用户体验

报告,根据这些反馈,我们进行了新一代的产品开发,今天我们将其呈现予您mostfun pro。

CTO王:
mostfun Pro是一台采用FDM技术的桌面级打印机,使用的intel edison进行开发,借助intel平台,

我们完成更多创新性的功能。即插即用、操作简单是我们开发过程中的指导理念。

engnieer刘:
上一代mostfun喷头的快速冷却功能,使得悬空倾角及悬空搭桥都可以呈现出极佳的打印效果,但我

们觉得这样还不够完美。这次,我们在喷头上集成了自动测平装置,因此不再需要繁琐的手动校准。
同时mostfun Pro还支持多种打印材料,常见的ABS/PLA,或是柔软的TPU,甚至是蜡材,未来,我们

计划提供可支持更多材料的喷头,为您提供更多的可能。

工业设计 田:
采用全金属机身,确保结构强度与观感的平衡

CEO陈:
mostfun希望与您一起,通过3D打印创造更多可能

intel edison上button程序编写

一个讨论:https://communities.intel.com/message/282676#282676

mostfun-ks讲稿

Hi there, we are the mostfun team, we are here to bring you a truly reliable and affordable 3d printer.

3d printers have been around for a while, yet there are still some issues like calibration, extruder jamming, and complicated settings, which have been stopping users from maximum enjoyment of this convenient technology. So our goal is to make a 3d printer that is long-standing, reliable, simple to use, and aesthetically pleasing.

To reach this goal, we include you, our users, into the developmental process. We have already gathered important feedback from over 400 different users during the developmental stages, and will continue to do so afterwards. With your input, we believe that we can improve our product, leading it into a direction that is truly user-friendly.

After 16 month of iteration? (choose another word. This is not in everyday spoken vocabulary. Preparation?) we have reach a point where we are proud to present to you, mostfun pro, our 3d Printer.

The mostfun pro has a full metal body, ensuring that it’s strength and structural stability is guaranteed. In addition, because it is made of alumimium, the 3d printer weighs only 12 pounds.

The extruder is the part we have spent the most amount of time on during the development process. With a lot of effort we have enabled the extruder to print 4cm brige.

Another feature we have included with the extruder is auto-calibration. We put a pressure sensor on the side of the nuzzle. By gently touching the tray in the corner, the 3d printer can compensate for the slant angle of the tray.

Apart from standard PLA, we have also refined the extrude to be compatible with other materials, like TPU which is a flexible material and even wax with which you can print your own candle.

We have not stopped there, we have also designed the extruder to be easily removable, so that you could mount a more advanced extrude in the future.

Another important aspect of the mostfun pro 3d printer is wireless accessibility. You can access the control panel by scanning the QR code. With this, you can choose and print the mode directly from your mobile devices. When the printing is complete, the print will automatically send a notification to your cellphone. You could either connect the printer peer to peer directly with your device or you could also share this printer in your local network.

In accordance to the user feedback, we have incorporated a pause & resume function to allow you a much more flexible arrangement. Say, if you are printing something big and time consuming, and suddenly you urgently need to print another model, with our Pause & resume function you can pause and save the ongoing printing process and resume the printing later, after you finish printing the urgent one.

We have also added an auto-resuming function to secure your work in case the power is cut off unexpectedly,

And last but not least, we have developed, specially for Kickstarter, a online tracking system for you. With your backer ID you can check the statues quo of your printer anytime on our website.

We have completed over eighty percent of our product, and are currently figuring out the last bit of details to enhance the product experience.

We appreciate that you are embarking on this exciting journey with us!

intel edison底板上的按键功能

1. 微型开关(SW1)
Intel Edison有一个独立的usb 2.0 OTG 接口,Arduino扩展板上的USB是多路复用的,你需要通过这个微型开关去切换Host模式和设备模式。当这个开关靠标准USB Type A开启时,就会启用Host模式,靠近micro USB Type B开启时,就会启用设备模式。
2. Arduino复位按键(SW1UI1)
这个复位按键用于复位Edison上的Arduino程序,和Arduino控制器上复位按键功能一样,使用他并不会影响edison的运行,仅仅是让上面的Arduino程序重新执行。
3. 电源开关(SW1UI2)
用于更改Edison电源模式的开关,它是通过软件进行配置的。当按下并保持时,
Pressing and holding the power button will cause the Intel Edison Board to power down leaving the IO configuration in its current state. Pressing the button momentarily when the Intel Edison Board is powered down will cause the Intel Edison Board to reboot. If the Intel Edison Board is running, then a momentary press will cause the Intel Edison Board to go into the low power sleep mode. Pressing the button momentarily when the Intel Edison Board is asleep, will bring the Intel Edison Board into full power mode. 按下并保持超过2秒且小于7秒,Intel Edison将进入AP模式。
4. FM按键(SW1UI3)
The FM button, also called as FWR_RCVR, is used to recover an Intel Edison Board that has a corrupted software image. Powering off the Intel Edison Board, then pressing the FM button and then applying power will cause the Intel Edison Board to go to firmware recovery mode. Two recovery modes are available depending on the state of the RM button when the power is applied.
5. RM按键(SW1UI4)
RM指RCVR_MODE,这是被用于
The RM button, also called as RCVR_MODE, is used to recover an Intel Edison Board that has a corrupted software image. During boot, the state of the RM button will cause the Intel Edison Board enter into two different recovery modes. During boot, when the FM button is pressed (high state) and the RM button isn’t pressed (high state), the processor attempts to load the firmware from flash from the location specified in the UMIP header. During boot, if the FM in pressed (high state) and the RM button is pressed (low state), the processor attempts to download from USB Type B port, regardless of the UMIP header.
6. Edison复位按键(SW1UI5)
这是主复位按键,按下并保持4秒,可以重启Edison;按下并保持8秒,会重置Edison相关配置,所有IO都将变为高阻态。

mostfun公司介绍要点

1, 年轻,富有活力的团队
2, 锐意进取、鼓励创新 的企业文化
3, 专研3D打印技术的推广与应用
4, 希望以技术帮助社会大众创新,改变生活方式

intel Edison开发教程——MCU SDK(一)

 

几个月前,intel提供的开发资料少之又少,但随edison用户的逐步增多,intel在吐槽声中也增加了不少资料。阅读这些资料,有如醍醐灌顶,让我了解到edison真正的牛逼之处。这里介绍的edison mcu sdk的开发也是源自intel的开发文档:https://software.intel.com/en-us/node/557537
以下为我阅读文档后的理解与复述,可能有不正确之处,望回复告知,谢谢。

intel-edison-mcu-sdk-1

组成intel Edison组成主要为两部分,Atom的核心quark的MCU
(不知道为何intel不说Quark,而只是称作MCU了,大家可以回帖揣测下)
这是一个双CPU,双系统的模块,Atom核心运行着yocto版的linux,而quark的MCU部分则运行着Viper RTOS,这是风河提供了一套系统,包含了线程调度、内存管理、中断调度等等功能。

MCU应用运行在Viper内核上,并独立控制着连接MCU的外围设备,我们使用GPIO读写传感器就是由MCU完成的,然后MCU再和Atom处理器进行通信,传回数据,用以完成更多功能。MCU还可以用于省电,他能促使Atom核心休眠,等到需要的时候再唤醒。

MCU驱动提供了IPC协议支持,使得可以下载应用到我们的设备上。
MCU子系统
MCU子系统基于486架构,对奔腾IA ISA兼容,集成了 I/O (IPC, I2C, GPIO, HSU, DMA)和SRAM。其主要特性如下:

  • 在fully active D0 device power状态,CPU频率是100MHz,在S0ix “active idle”休眠状态,CPU会降频到38.4 MHz。
  • SRAM: 192 KB SRAM(包括代码和数据)
  • IPC: 这个很重要,MCU提供了控制子系统的IPC机制,MCU和核心的thread-based通信也通过此进行。
  • I2C: I2C 8和I2C 9 in the system controller unit (SCU) cluster are assigned for MCU usage.
  • UART: MCU能访问UART1、UART2,which may be used as a Linux* kernel console as well.
  • GPIO: MCU能访问所有GPIO口,MCU和核心共用所有GPIO。
  • PWM: MCU和核心共用所有PWM
  • MCU 提供了微秒级 (1 µs)高精度延时API。详见:Auxiliary API部分。
  • MCU提供了不同等级的追踪能力,用以调试程序。
  • The MCU SDK是一套基于Eclipse的SDK,方便用户创建、编译、下载和调试MCU应用,并且他支持多系统。

图片是SDK包含的东西:
intel-edison-mcu-sdk-2

MCU应用
MCU应用运行在Viper上,它的二进制文件存储在linux RootFS中,在linux内核启动期间,会通过MCU driver将二进制文件下载到MCU上。MCU应用能独立控制外设、和atom核心通信,也能进入低功耗模式。通过intel提供的SDK就可以开发MCU应用。

核心端接口
以下列出了核心上暴露出的一些TTY通道和多个sysfs节点,这些接口都是用于核心和MCU间通信的。
TTY接口

  • /dev/ttymcu0: 核心与MCU的传输通道。核心和MCU间能通过这个接口相互发送和接受数据。
  • /dev/ttymcu1: 用于获取MCU的log信息

Sysfs接口

  • /sys/devices/platform/intel_mcu/control: A write-only control node to load the MCU application. Currently this node is for internal use only.
  • /sys/devices/platform/intel_mcu/fw_version: The version of the MCU SDK that is used to build MCU applications.
  • /sys/devices/platform/intel_mcu/log_level: A read/write node to set and get the current MCU application log level. Supported input strings include fatal, error, warning, info, and debug.

MCU SDK
MCU SDK主要是一个Eclipse plugin,它包含一个预建工具,能用于编译、下载和调试MCU应用。同时当创建项目时,会使用到其中包含的模板源码。MCU SDK主要有以下几个特性:

  • 创建MCU项目
  • 建立MCU应用
  • 下载MCU应用到目标设备
  • 显示调试信息

以下是一些intel官方提到的注意事项,主要为edison硬件的局限性说明,不做翻译了:

  • The maximum message size for interprocess communication between the CPU and the MCU is currently limited to 255 bytes.
  • The current Viper OS release does not support unloading an MCU user application after it is loaded. The user must reboot the device to unload the downloaded binary.
  • The MCU application update requires a Linux reboot.
  • Maximum MCU binary size is limited to 120 KB currently.
  • Due to the limitations of the current Viper OS release, the MCU OS tick value is 10 ms.
  • You cannot install the SDK in any directory that has spaces in the path name. (For example, Program Files or My Documents is not allowed.)
  • There is no floating point support in MCU. (You can build a floating point code using MCU, but it will generate runtime exceptions.)
  • The MCU is limited to 2xI2C.
  • The MCU application is limited to single-thread usage.
  • You cannot boot the MCU without first booting Linux.
  • There is no access coordination between the Intel Atom processor and the MCU. Both can configure the same I/O at once. This can potentially cause conflicts and must be user-managed.
  • The MCU SDK (Eclipse) is different and separate from the C/C++ Eclipse SDK for the Intel Atom processor.
  • The MCU I/O API is not aligned with the API for the Intel Atom processor. You must rewrite code to move from the Intel Atom processor to the MCU.
  • The MCU does not have a watchdog timer.
  • Currently, the SPI feature is not supported for the MCU.
  • It may take a long time to launch the MCU SDK on Windows under some network configurations due to Eclipse or Cygwin limitations.
  • Pin muxing (Arduino extension board configuration) must be done through the Linux interface before starting the MCU. For details, see Setting the Intel® Edison board up to test system on a chip (SoC) GPIOs.
  • PWM runtime power management must be disabled from the Linux side in order to access this module. For details, seeControlling PWM ports.
  • There are no programmable timer interrupts available on the MCU.

 

python udp广播

客户端:

import socket, traceback


port = 2345

print "python UDP multi case client test"

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

data = "Data from pc"
s.bind(("",2345))
for i in range(1,100):
    try:
        data,address=s.recvfrom(2345)
        print "cli get data form", address, ":", data
        s.sendto("client ack", address)
        #data,address = s.recvfrom(1024)
        #print "received %r from %r" % (data, address)
    except (KeyboardInterrupt, SystemExit):
        raise
    except:
        traceback.print_exc()
    
print "test finsh"

 

服务器端:

#!/usr/bin/env python
# this is the udp broadcast server
import socket, traceback
host = '' # Bind to all interfaces
port = 1234

print "python UDP multi case server test"


s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.bind((host, port))

for i in range(1,100):
    try:
        s.sendto("server here",('192.168.1.255', 2345))
        message, address = s.recvfrom(1234)
        print "Got data from", address,":",message 
        # Acknowledge it.
        s.sendto("I am here", address)
    except (KeyboardInterrupt, SystemExit):
        raise
    except:
        traceback.print_exc()

 

mostfun安装脚本设计

#下载主程序:
cd /home
wget http://clz.me/download/mostfuncp-0.1.zip
unzip mostfuncp-0.1.zip

#下载依赖:
wget https://clz.me/get-pip.py
python get-pip.py
pip install -r /home/mostfun/requirements.txt

#创建资源文件夹:
cd /home
mkdir mostfuncp
cd mostfuncp
mkdir gcode
mkdir description
mkdir img
mkdir model

#设置自启动
cp /home/mostfun/start.sh -r /etc/init.d/
cd /etc/init.d
chmod +x /etc/init.d/start.sh
update-rc.d start.sh defaults 97

添加程序图标到我的电脑

参考:http://www.cnblogs.com/calm2012/p/3619500.html

flask开发blog

http://zhiwei.li/text/2013/12/%E7%94%A8flask%E5%92%8Cmongoengine%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E8%BD%BB%E5%8D%9A%E5%AE%A2/