LattePanda

设备开机

概述

LattePanda(拿铁熊猫)一代,下文简称为LattePanda,具备两个电源接口:一个是常用的microUSB接口;另一个是5V/GND排针,板子上印有“CN2”白色字样。

所需硬件

  1. USB电源适配器,2A电流输出
  2. 优质microUSB连接线(可以传输2A电流)
  3. HDMI连接线
  4. 散热片或冷却风扇(推荐使用风扇)
  5. 其他所需的常用设备:

本产品不含电源适配器与USB连接线,您可以从我们的在线商城或者其他电子元件零售商选购合适的电源适配器与USB连接线。推荐使用LattePanda官方推荐的5V 2A USB电源适配器MicroUSB 数据线,以确保您能够顺利的上手操作,避免不必要的麻烦。

注意:

我们注意到,市面上有很多的劣质USB适配器或者低质量的USB连接线,虽然它们的规格上标有2A电流,但实际上是不能提供或者传输2A电流的!

根据我们的经验,在大多数情况下,这些劣质USB适配器或者低质量的USB连接线会导致用户第一次不能正常启动LattePanda。

因此,请认真检查这些适配器或连接线,确保他们都是达标的。如果LattePanda出现启动异常,请尝试更换USB适配器或USB连接线。

开机启动

准备工作完成后,请按照以下的几个步骤进行操作,进行LattePanda的开机。

1.把USB连接线的USB口连接到USB电源适配器,然后把USB连接线的microUSB口连接到LattePanda的microUSB口上(紧靠SD卡插座)。

Plug-USB.jpg
2.连接好后,您应该能看到电路板底部的红色LED指示灯亮起,表示LattePanda正在初始化。耐心等待几秒钟,直到红色LED指示灯熄灭。

6W4A0109.jpg
3.当红色LED指示灯熄灭后,按住电源按钮一秒钟以上,LattePanda就开机了,此时您应该看到LED指示灯再次亮起。

6W4A0106.jpg

上述完整的过程就像打开一台新电脑一样!然后它就开始工作了!

其他供电方式

当您想使用DC-DC适配器或通用直流稳压电源为系统供电时,CN2排针(位于microUSB接口旁边)将是最适合的接口,搭配电源转接头和杜邦线即可使用。请参阅论坛上的这篇文章,以了解更多信息(英文链接

设备联网

连接到WIFI

1.安装WIFI天线:把WIFI天线的圆形金属端插入到天线接口上。天线接口在LattePanda主板的GPIO排母的旁边,标有“ANT”字样。

2.在Windows系统中,单击屏幕右下角的系统托盘中的WIFI图标,选择需要的连接的WIFI信号。按照向导设置连接即可。

连接到有线网络

LattePanda支持WIFI,也支持有线网络。LattePanda主板上有一个RJ45网络接口,将您的网线连接到LattePanda主板上的网口即可。

外围接口

LattePanda兼容各种外围设备。您可以将USB设备,如闪存盘、鼠标、键盘、摄像头等,连接到USB 3.0和2.0端口。SD卡插槽支持迷你SD卡(TF卡),作为外部存储器。通过3.5毫米音频接口,LattePanda的音频就能输出到外部扬声器。LattePanda板载了Arduino协处理器,具有即插即用的3针排针接口和GPIO排母,支持5V供电的传感器和执行器。这些特性,使得LattePanda能够与物理世界进行各种交互。

LattePanda_Connector.png

连接触摸显示屏

7英寸触摸屏10英寸IPS高分辨率显示屏,适用于LattePanda一代。

warning_yellow.png 请在上电启动前将显示屏与LattePanda主板连接好,并确保金手指的方向与上述右图图示的方向一致。FPC上的触点非常紧凑且有序,因此请注意,任何错位都可能导致短路,以及显示异常,比如重影、闪烁等。

连接官方的7英寸触摸显示屏

1.打开FPC排座上的锁片,使其向上翻起。使用拇指或食指的指甲可能更容易打开。

6W4A0100.jpg
2.插入显示屏的FPC排线。

warning_yellow.png 警告:排线的金手指方向朝下(面向主板的底部)。

6W4A0102.jpg

FPC排线必须完全插入座子中。如果未完全插入,锁片将无法正常关上。如果是这种情况,请打开锁片,重复此过程(从上面的步骤1开始)。

3.关上锁片,直至牢固可靠。

6W4A0103.jpg

4.把触摸面板的FPC排线插入到主板上的触摸FPC排座上,位于屏幕FPC排座的左边。方法步骤与安装屏幕FPC排线一致。触摸面板FPC排线的金手指也朝下(面向主板的底部)。

6W4A0104.jpg

多操作系统支持

在本章节中,您将了解如何在LattePanda上安装不同的操作系统,例如Linux Ubuntu,Windows 10等,甚至是一些社区贡献的操作系统。请随意下载您所需要的操作系统。

Tips:LattePanda主板CR200镜像bios驱动国内下载地址

[LattePanda主板CR700 2GB镜像下载地址](链接: https://pan.baidu.com/s/1ocGR4UN1NpgchpfnVXcyYg?pwd=1j8z 提取码: 1j8z)

[LattePanda主板CR700 4GB镜像下载地址](链接: https://pan.baidu.com/s/1PI5U4h-g17CG9sNWh5TJig?pwd=60e8 提取码: 60e8)

重新安装windows 10家庭版

LattePanda出厂时已经预装了Windows 10 操作系统。如果出现了以下情况,建议您重新安装操作系统:

所需硬件

8GB U盘 x1

安装步骤

以下步骤将指导您进行系统安装,并恢复到出厂默认设置。因此,在执行下述步骤之前,强烈建议您进行数据和应用程序的备份。

1.检查您的硬件规格。

Lp-8350-stick.png

2.选择并下载与您的硬件规格相匹配的LattePanda官方Windows 10镜像文件。安装过程需要时间,因此请确保为您的LattePanda主板下载了正确的镜像文件,以免浪费您的时间。

3.将U盘全盘格式化,格式为FAT32,并将其名称改为“WINPE”。U盘必须格式化为FAT32并标有“WINPE”才能正常工作。
4.将镜像文件解压到U盘的根目录。
5.将U盘插到LattePanda的USB口上。
6.上电,LattePanda开机。
7.LattePanda将从U盘启动,然后会自动安装镜像。请等待安装完成。
8.完成后,拔下U盘。然后重启,之后就会自动完成操作系统的安装。

安装windows 10企业版(商用)

我们强烈建议将Windows 10企业版操作系统用于商用场合!LattePanda 4GB/64GB(附带win10企业版激活码)预装并激活了windows 10企业版。 本小节的教程由我们的社区成员提供。非常感谢他的帮助,这是他原帖的链接(英文)。我们认为这对基于LattePanda进行小型商用或工业创新的人们是很有用的,因此我们在这里分享。 如果您对安装或者激活Windows 10企业版操作系统还有其他疑问,请在上述分享的论坛主题中进行讨论!支持团队将为您提供帮助!

如果您需要Windows 10企业版操作系统的许可证进行量产,请通过电子邮件与LattePanda业务支持团队联系。邮箱:lattepanda@outlook.com

所需硬件

8GB U盘 x1

安装步骤

1.下载LattePanda windows 10企业版LTSB镜像文件。
2.将所有文件放入U盘的根目录。(你需要把U盘设置为可启动设备。参考此链接。)
3.重新启动LattePanda,连续按'Esc'按键,进入BIOS设置。更改启动选项优先级,从U盘启动作为第一选项。
4.保存并重新启动。
5.按照屏幕提示,完成操作系统的安装。
6.激活您的操作系统。带有激活码的卡片,在包装盒中,如下图所示。

激活windows系统

激活您的windows系统,有以下6个步骤:
1.确保您的LattePanda通过WiFi或有限网络联网。
2.右键单击Windows按钮,然后选择“ 系统”。
3.单击“激活Windows”
4.点击“更改产品密钥”
5.输入产品密钥号
6.点击“下一步”。按照提示操作,完成windows的激活。

升级windows系统

如果您想更新到Windows 10的最新版本,请按照以下步骤操作。

1.点击下载更新助手。要开始使用,请点击“立即更新”。
2.运行更新助手。
3.等待更新。这需要一段时间,在此期间您可以继续工作。
4.更新完成后,删除C盘中的“Windows.old”文件夹。(点击查看如何删除Windows.old文件夹

安装Ubuntu 16.04

官方支持的版本:S70CR200 2G/32G。请参考下面的图片以了解查找如何检查版本。如果您拥有较早的LattePanda版本(例如CR110或CR100),则可以参考Github的说明文档来完成linux的安装。 在和我们的论坛成员测试了一个月的beta Linux系统之后,我们收集了论坛成员遇到的一些问题。大多数问题已经被修复。下面将向您展示官方的Ubuntu安装教程。如果您在LattePanda上使用Linux系统时仍有任何疑问,请随时在此处发布您的问题,我们随时帮助你解决!

所需材料

1.8GB U盘
2.下载最新的BIOS文件(这个BIOS仅3适用于所有的CR200 Z8350机型)
3.下载系统镜像文件(百度盘链接:https://pan.baidu.com/s/1wjzkMZHbj1qYeNUzF9EB2A 提取码:jdur)

安装步骤

刷新BIOS

这个新BIOS修复了LattePanda上使用Linux Ubuntu的一些小错误,以提高长期使用的稳定性,例如,重启后的蓝牙稳定性问题(来自社区的报道)。

warning_yellow.png 由于刷新BIOS时有潜在的风险,因此可以跳过此部分!这对在LattePanda上体验Ubuntu不会有太大的影响。

1.务必检查LattePanda的版本是否正确!此BIOS仅适用于CR200 z8350机型!
2.把U盘格式化为FAT32。
3.直接将BIOS文件复制到U盘的根目录。
4.将U盘插入到LattePanda的USB接口上。
5.插好MicroUSB连接线,并上电。LattePanda开机。
6.等待自动刷新BIOS,直到提示“ fs1:\>”。
7.拔出U盘!
8.通过按“重启”按钮或“Ctrl + Alt + Del”复合键重新启动。BIOS刷新就完成了。

安装Ubuntu系统

1.下载Ubuntu系统镜像文件。

2.制作一个可启动的U盘。如您的电脑用的是windows系统,可使用Rufus软件,点击此处下载Rufus。选择Ubuntu系统镜像文件,刻录到U盘中。如您的电脑用的是Mac系统,可使用Etcher软件。点击此处下载Etcher软件

3.把U盘插到LattePanda的USB接口上。

4.将LattePanda开机,会自动跳转到安装界面。

5.如下图所示,选择第一个选项。

6.选择语言。

7.选择键盘的布局方式。如果您在北美,请单击Enter。如果您不在北美,则您的键盘很有可能与Clonezilla选择的默认布局不同。请选择与您的国家或地区相关的一种。

8.选择“Start_Clonezilla”。

9.选择“Beginner mode”。

10.选择“restoredisk”。

11.选择镜像。

12.选择目标磁盘(默认磁盘)。

13.选择“Check the image before restoring”。

14.选择一切完成后要执行的操作,这取决于您。在本教程中,我们选择“Reboot”。

15.最后,Clonezilla将询问您两次是否要开始。如果您确定目标磁盘为空,请输入“Y”开始。

16.安装成功后,系统将重新启动。请遵循安装过程中的提示信息,及时拔除U盘。
17.首次登录时,请使用以下账户和密码:

登陆帐号:admin

密码:admin

18.登陆完毕后,在LattePanda上尽情体验Ubuntu吧。

小提示

1.建议在使用之前先配置显示方式。如果您没有LattePanda官方显示屏,请关闭MIPI输出,以避免通过MIPI视频输出,而不是HDMI视频输出。
2.建议先通过ubuntu更新来允许和更新最新的Ubuntu源代码。
3.修改主机文件。检查以下详细信息:

4.您可以在lattepanda官方论坛上分享您的反馈或进一步的需求。 LattePanda官方论坛

安装OpenSUSE

本教程由社区成员J.S. Evans提供。请单击下面的链接以获取详细信息! OpenSUSE安装指南(英文)

硬件介绍

在本章节中,我们将介绍LattePanda主板的硬件布局。下述的管脚图,显示的是LattePanda主板的所有引脚:

区域U1中的引脚由X-Z8300内核分配。 区域U2中的引脚由ATmega32u4内核分配。区域U2中的20个数字引脚(A0~A5,D0~D13),每个引脚都可以用作输入或输出;每个引脚的工作电压均为5V;每个引脚可以输出或输入40 mA的电流;每个引脚都有一个20~50kΩ的内部上拉电阻(默认不连接内部上拉电阻)。

warning_yellow.png 任何一个I/O引脚上的电流超过40mA,可能会造成永久性损坏。

一些引脚具有特殊功能:

物理编程

这部分会说从Windows应用程序中控制Arduino GPIO,包括以下功能:

步骤一:设置计算机

1)下载 Visual Studio 2017

2)在windows中开启开发者模式。

3)下载 LattePanda.Firmata

LattePanda.Firmata是由LattePanda提供的开源Firmata库,能够在Windows应用程序中控制Arduino GPIO。

步骤二:设置Arduino芯片

1)打开Arduino IDE,选择“StandardFirmata”。

2)选择“Arduino Leonardo”。

3)选择COM口。

4)上传程序,等待上传完成。

步骤三:让LattePanda上的指示灯可控的闪烁

您可以自己创建一个项目,也可以用这里的 样例项目

1)打开Visual Studio 2017,创建一个新的app

2)下载 LattePanda.Firmata class library

3)将下载的类库添加到项目中,打开解决方案资源管理器并右键单击空白区域,然后添加现有项。

4)将下面的代码添加到“Program.cs”.

using System.Threading;
using LattePanda.Firmata;
Arduino arduino = new Arduino();
arduino.pinMode(13, Arduino.OUTPUT);//Set the digital pin 13 as output
while (true)
{
// ==== set the led on or off
arduino.digitalWrite(13, Arduino.HIGH);//set the LED on
Thread.Sleep(1000);//delay a seconds
arduino.digitalWrite(13, Arduino.LOW);//set the LED off
Thread.Sleep(1000);//delay a seconds
}

完成后如下图所示。

5)最后调试您的项目,连接Arduino并单击Start。很快你就会发现Arduino的LED在闪烁。

编程参考样例

digitalWrite

在本样例中,我们会让连接在数字引脚D0-D13的LED闪烁起来。

将LED连接在Pin9.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace blinkYourBoard//project name
{
class Program
{
static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
static void Main(string[] args)
{
arduino.pinMode(9, Arduino.OUTPUT);//Set the digital pin 9 as output
while (true)
{
// ==== set the led on or off
arduino.digitalWrite(9, Arduino.HIGH);//set the LED on
Thread.Sleep(1000);//delay a seconds
arduino.digitalWrite(9, Arduino.LOW);//set the LED off
Thread.Sleep(1000);//delay a seconds
}
}
}
}

点击调试按钮,LED开始闪烁。

digitalRead

此样例展示通过数字引脚D0-D13检测按钮状态。

将按钮连接在Pin9.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace buttonDemo//your project name
{
class Program
{
static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
static void Main(string[] args)
{
arduino.pinMode(9, Arduino.INPUT);// Set the digital pin 9 as input
int Value = arduino.digitalRead(9);// Read the state of pin 9 once.
Console.WriteLine(Value);
arduino.digitalPinUpdated += Arduino_digitalPinUpdated;//
Add Event Listeners and call it when the digital input update.
}
private static void Arduino_digitalPinUpdated(byte pin, byte state)
{
Console.WriteLine(pin);
Console.WriteLine(state);
}
}
}

PWM

本例将PWM值(脉冲宽度调制)赋给输出引脚(D3、D5、D6、D9、D10、D11),使LED变暗或变亮。

将LED连接在Pin9.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace analogWriteExample
{
class Program
{
static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
static void Main(string[] args)
{
arduino.pinMode(9, Arduino.PWM);
while (true)
{
for (int i = 0; i <= 255; i++)
{
arduino.analogWrite(9, i);
Thread.Sleep(4);//delay 4ms
}
for (int i = 255; i >= 0; i--)
{
arduino.analogWrite(9, i);
Thread.Sleep(4);//delay 4ms
}
}
}
}
}

点击调试按钮,LED开始慢慢变暗,然后变亮。

AnalogRead

本例中将检测连接电位器的模拟引脚(A0-A5)的值,并打印该值。

将电位器连接在Pin0.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace analogWriteExample
{
class Program
{
static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
static void Main(string[] args)
{
int Value = arduino.analogRead(0);//Read the state of pin 0
Console.WriteLine(Value);
arduino.analogPinUpdated += Arduino_analogPinUpdated; ;//Add Event Listeners and call it when the analog input update.
}
private static void Arduino_analogPinUpdated(int pin, int value)
{
if(pin==0)
{
Console.WriteLine(pin);
Console.WriteLine(value);
}
}
}
}

点击调试按钮,当你旋转它时,电位器的状态会打印出来。

舵机

本例中要让舵机来回摆动180°。

将舵机直接连接在Pin9.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace analogWriteExample
{
class Program
{
static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
static void Main(string[] args)
{
arduino.pinMode(9, Arduino.SERVO);
while (true)
{
arduino.servoWrite(9, 180);//tell the servo motor go to the position in 180 degrees
Thread.Sleep(1000);//delay a seconds
arduino.servoWrite(9, 0);//tell the servo motor go to the position in 0 degrees
Thread.Sleep(1000);//delay a seconds
}
}
}
}

点击调试按钮,舵机将会来回摆动。

I2C

本例中将向您展示如何使用I2C来获得3轴加速度计ADXL345的数据。

下图展示了加速度计上的引脚连接到LattePanda上的哪些插脚。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace analogWriteExample
{
class Program
{
static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
static void Main(string[] args)
{
arduino.wireBegin(200);
arduino.wireRequest(0x53, 0x2D, new Int16[] { 8 }, Arduino.I2C_MODE_WRITE);//Write data{8} to I2C
arduino.didI2CDataReveive += Arduino_didI2CDataReveive;//did I2C Data Reveive
arduino.wireRequest(0x53, 0x32, new Int16[] { 6 }, Arduino.I2C_MODE_READ_CONTINUOUSLY);//Read data form I2C data
}
private static void Arduino_didI2CDataReveive(byte address, byte register, byte[] data)
{
Console.WriteLine(BitConverter.ToInt16(data, 0));
Console.WriteLine(BitConverter.ToInt16(data, 2));
Console.WriteLine(BitConverter.ToInt16(data, 4));
}
}
}

点击调试按钮,三轴加速度数据将连续打印出来。

通过WebClient读取传感器数据

介绍

本部分介绍网页端通过Firmata协议控制Arduino端口。包括:

这只是众多可能性中的一小部分,欢迎您构建和扩展更多的功能。

安装和运行客户端

开始之前您需要做以下准备:

npm install johnny-five
npm install serialport
node FirmateWebClient.js

下面有一些具体的例子教你如何使用。

1.设置数字引脚

写入数字引脚并将其设置为输出模式。

var url = {
  hostname: 'localhost',//your device ip
  port: 23456,//server port, default 23456
  path: '/set_digital/13/1',//command/the digital pin to write to(0~13)/0 or 1
  method: 'GET'
};

2.设置PWM

用PWM写入模拟引脚。

var url = {
  hostname: 'localhost',//your device ip
  port: 23456,//server port, default 23456
  path: '/set_pwm/3/255',//command/Analog output pin(3,4,6,9,10,11)/0(0V)~255(5V)
  method: 'GET'
};

3.设置舵机

将角度信息写入指定的引脚并设置为Servo mode。

var url = {
  hostname: 'localhost',//your device ip
  port: 23456,//server port, default 23456
  path: '/set_servo/3/255',//command/Servo output pin(0~13)/Angle from 0 to 180.
  method: 'GET'
};

4.让舵机运转

舵机将0-180°运转并重复。

var url = {
  hostname: 'localhost',//your device ip
  port: 23456,//server port, default 23456
  path: '/sweep_servo/3',//command/Servo output pin(0~13)
  method: 'GET'
};

5.让舵机停止

var url = {
  hostname: 'localhost',//your device ip
  port: 23456,//server port, default 23456
  path: '/stop_servo/3',//command/Servo output pin(0~13)
  method: 'GET'
};

6.读取所有引脚状态

你可以读取所有引脚状态,并返回一个json object。

var url = {
  hostname: 'localhost',//your device ip
  port: 23456,//server port, default 23456
  path: '/read_all_pins',//command
  method: 'GET'
};

你收到的object如下所示:

{
    "command":["read_all_pins"],
    "data":{"0":"false",..."13":"false","A0":"0.75",..."A5":"0.67"}
}

样例

你可以在"/examples"文件夹找到所有的样例。 点击此处 查看更多的用户体验。

1.打开LED

打开一个连接在数字引脚13的LED。

2.设置PWM

本例将脉宽调制(PWM)值赋给输出引脚(D3、D5、D6、D9、D10、D11),使LED变暗或变亮。此样例我们使用连接到数字pin 13的板载LED。

3.设置舵机

本例将设置舵机至20°。

4.读取光传感器值

本例通过模拟引脚(A0~A5)检测光传感器的值。

FAQ

如何设置上电自启?

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

LattePanda官网

LattePanda官方论坛(英文)

LattePanda Docs(英文)

DFshopping_car1.png Link DFRobot商城购买链接