顯示具有 Raspberry Pi 標籤的文章。 顯示所有文章
顯示具有 Raspberry Pi 標籤的文章。 顯示所有文章

2023年7月31日 星期一

Raspberry 的預設帳號Pi 不存在了



基於安全性考量,Raspberry Pi 2022年開始的預載的OS image ,不再含有預設的pi 帳號了

在 SD 卡的boot 分割區 (SD 卡插在 Windows 上可以看到檔案系統), 建立一個名為userconf或userconf.txt的文件.

userconf.txt 的內容, 其中pi: <encrypted password>

此處以raspberry 作為密碼的編碼, 可以用其他Linux 機器產生 encrypted password

echo 'raspberry' | openssl passwd -6 -stdin

如此又可以回到帳號 pi 預設密碼為 raspberry 所習慣的環境了~

userconf.txt 的內容如下
 




2022年8月29日 星期一

[Raspberry Pi ] 查詢 Software and Hardware Version of a Raspberry Pi

 

How to Check the Software and Hardware Version of a Raspberry Pi

 Type the following commands , you will get all information about Raspberry Pi
  • cat /etc/os-release
  • uname -a
  • cat /proc/cpuinfo | grep Model



 2019 年發布的Raspberry Pi 4  ,被發現有 USB-C 的充電問題,而小改款  v1.2 解決了此問題! 

2019年10月6日 星期日

Pi 新手教學(零) --艾鍗Raspberry Pi I/O Shield 規格介紹



艾鍗Raspberry Pi 擴充板 (適用Pi 3, Pi 3+, Pi 4)

ADC、DC馬達驅動、G-sensor、紅外線收發器、OLED、Buzzer、LED、Button、DIP Switch、Relay

V3.0 Raspberry Pi 擴充板簡要說明 
  1. 由於Raspberry Pi 沒有類比輸入的能力: 所以此擴充板加入ADC 晶片以提供8 通道的類比訊號輸入, 如此可以讓Raspberry Pi 可以擁有連接類比感測器的的能力
  2. 拉出Pi的硬體PWM訊號腳, 並加入DC 驅動電路, 使Pi 可以直接連接DC 馬達、BLDC無刷馬達
  3. USB Debug Console: 不用再買Serial-TO-USB的轉接線材了, 本擴充板已內建PL2303晶片了, 故可以直接接到PC USB
  4. 同時擁有IR紅外線發送器及接收器, 可以讓Pi當作多媒體的應用平台或IR遙控器
  5. 附有OLED的模組,可以直接接上OLED用來顯示系統狀態
  6. TH1 可以直接連接光敏電阻, 可以進行光度感測 (光敏電阻將隨出貨附贈)
  7. 內建 G-Sensor (LIS3DH) 可以感測Pi 在X,Y,Z軸方向的移動狀態
  8. 附有nRF24L01的2.4G RF通訊模組,可進行2.4G 無線通訊實驗
  9. 用DIP Switch 記錄不同狀態,Pi 就能有不同的啓動狀態或選擇進入不同的功能模式
  10. 接出I2C連接座和SPI連接座方便外接更多的數位式感測器







2019年8月6日 星期二

將vim預設語法Highlight 打開



sudo apt-get install vim

將vim開啓程式,預設即是語法Highlight 打開 (syntax highlighting in vim)

修改 vim $HOME/.vimrc


加入這一行

syntax on

存檔離開



2018年10月25日 星期四

安裝jupyter notebook 於Raspberry Pi







1.) 安裝 jupyter notebook 

sudo pip3 install jupyter   

(約等個15分鐘吧..耐心等候)

2.) 讓 jupyter-notebook Server 可從windows連入

==> jupyter notebook --generate-config

#修改 ~/.jupyter/jupyter_notebook_config.py 找到
#c.NotebookApp.ip = ‘localhost'

改成

c.NotebookApp.ip = '0.0.0.0’ 





# 設定瀏覽器登入 jupyter notebook server密碼

==> jupyter notebook password

3.)啓動jupyter-notebook 


sudo jupyter-notebook

如果是root ,則要多加 --allow-root 才能啓動    sudo jupyter-notebook --allow-root     





4.) 在windows上,打開瀏覽器連入

http://192.168.1.252:8888/


Note: 192.168.1.252 為 Pi的Ethernet IP, 也可以用Wi-Fi 的IP連入, 只要那個IP是Windows能連到的即可 (同一個router所配的IP都OK!)

如何查Pi的IP?  請執行ifconfig  ==> 查看Pi網路IP 

(更多Pi 的基礎操作, 請看課程學習 )




 成功登入 jupyter notebook畫面~



 看一下 jupyter notebook kernel 使用的python 版本






2018年6月11日 星期一

[Raspberry Pi] 開機後LCD螢幕不要變黑





How to disable monitor power saving option in Raspberry PI?

最簡單方式就是裝xscreensaver的應用程式, 然後不要啓動 Screen Saver

sudo apt-get install xscreensaver
 then on the main preferences page set MODE: Disable Screen Saver







https://goo.gl/EcCcj7

2018年6月7日 星期四

[Raspberry pi] Python GUI Tkinter



如何執行?
export DISPLAY=:0.0
python3 tkui.py













----------------------------------------------

Create GUI with TKInter over SSH

這一行, 就可以用SSH開發GUI程式, 讓視窗畫面出現在LCD上


export DISPLAY=:0.0

----------------------------------------------

RPi 4"Inch 480x320 LCD (SPI 界面)

[Raspberry Pi] Give root password for maintenance ..



若Raspberry Pi 出現一直出現 "
Give root password for maintenance (or type Control-D continue .." 而無法直接進入Desktop視面系統怎麼辦?

把SDcard 拿到別台Linux機器, 當然也可以是另外一台Pi, 做以下動作, 就可以做檔案系統修復


sudo fdisk -l

sudo fsck /dev/sda2 -y





https://goo.gl/EcCcj7


2017年8月30日 星期三

[新手教學] ARM boot Loader 數位課程學習須知



 教學影片內容為ARM 微理機架構解說與ARM Boot Loader 等技術主題的說明並有講師Demo Pi 3影片

目標對象:
  1. 有嵌入式系統開發經驗但並未接觸過底層開機程式碼 (Boot code)

先備知識: 

  1. Linux 系統操作能力
  2. 熟悉的C程式
  3. 會使用gcc, make 的等GNU開發工具
  4. Raspberry Pi 的操作使用經驗
Raspberry Pi 3 環境建置:


請先登入學習平台,在[課程公告]處, 點選下載ARM Files.rar ,解開後內容如下

ARM Files 檔案目錄結構:
├─ADS_code  (ADS 課程範例原始碼)
├─Document (Data Sheet及電路圖等文件)
├─Tools
│  ├─2016-05-27-raspbian-jessie-lite.zip (Raspberry Pi 3官方Image File)
│  ├─ADS12trial.rar (ADS 1.2 試用版)
─pi-boot.zip (Raspberry Pi Bootloader  課程範例原始碼)
├─TOC.tx

其中 pi-boot.zip 要傳送到PC Linux下 (註: 講師用的Linux環境是 Ubuntu 16.04, 但其實只要Toolchain能執行就可以,和使用那一套Linux Distribution並無太大關聯) ( 延伸閱讀: 用VirtualBox 掛載 Linux )





ARM bootloader on Raspberry Pi 3 
=====================================

在 Linux 下 執行 "unzip  pi-boot.zip" , 解開後的內容如下, 請照README.txt 或下方說明, 完成第一個Pi上的範例

  
pi-boot
  │  gcc-arm-none-eabi-5_3-2016q1-20160330-linux.tar.bz2
  │  gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2
  │  make.dep
  │  README.txt
  ├─bcm2835_lib
  ├─example
  │   ├─bare_button
  │   ├─bare_button_in
  │   ├─bare_gpio
  │   ├─bare_mailbox
  │   ├─bare_timer
  │   ├─bare_uart_poll
  │   └─uart_interrupt
  └─startup_code
          boot.o
          boot.S
          link.ld
          Makefil
          start.o
          start.S

How to Build
------------------------
step1: untar Toolchain
------------------------
gcc-arm-none-eabi-5_3-2016q1.tar.gz --> for 32-bit Linux host  
gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 --> for 64-bit Linux host


For example, 

tar jxvf gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 

-------------------------
step2: Setup Toolchain Path
-------------------------

export PATH=$PATH:/home/it/pi_baremetal/trunk/gcc-arm-none-eabi-6-2017-q1-update/bin

type "arm-none-eabi-gcc -v"

it will display : gcc version 6.3.1 


-------------------------
step3: make boot code firstly
-------------------------

#modify make.dep to determine which version to use
# 0 for 32bit ; 1 for 64
Host_64=1

cd startup_code ; make


-------------------------
step4: test demo code
-------------------------


cd example/bare_gpio
make

output==>armgpio.bin

-------------------------
step5: put the code to Raspberry Pi 3
-------------------------

 copy 'armgpio.bin' to micro SD card and add one line 

 kernel=armgpio.bin

at the end of the config.txt file. Then, you insert micro SD card into Raspberry Pi,and power on. After booting, you can see LED is blinking.


 Note: code 在Pi 3上測試過
      目前講師所整理的code 僅以Raspberry Pi 3 搭配艾鍗 Raspberry Pi 3 Shield 版本為主







2017年7月6日 星期四

Raspberry Pi 3 使用紅外線

硬體準備


一個 IR 發射器及一個接收器 (使用Raspberry pi 3 Education Kit)

Demo




LIRC 軟體安裝及設定


Step 1: We need to install LIRC utility
pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install lirc

Step 2: 修改 /boot/config.txt

# Uncomment this to enable the lirc-rpi Module
dtoverlay=lirc-rpi
dtparam=gpio_in_pull=up   #將GPIO Input 均先設為Pull Up 

# Override the defaults for the lirc-rpi module

dtparam=gpio_in_pin=17   #IR接收
dtparam=gpio_out_pin=25 #IR發射


Step 3: 修改 /boot/config.txt

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="UNCONFIGURED"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""

step 4:

Reboot

2017年6月17日 星期六

Raspberry Pi 3 Ethernet chip (LAN9514)



在Pi 3 USB 連接埠旁的chip (SMSC LAN9514) 就是他提供了 Ethernet PYH & MAC 功能 , 同時也提供 USB 2.0 Hub (USB PHY) 的功能。

 Broadcom SoC 晶片內的 USB Controller <---> USB PHY<--->   USB Connector

SMSC 9514 : Single chip 10/100 Ethernet controller and 4 port Hi-Speed USB 2.0 hub







References: 
http://www.mouser.com/ds/2/268/lan951xfs-369530.pdf
DataSheet Download




2017年1月14日 星期六

Pi GPIO 輸出電流其實有30mA.



今天做了一個實驗: 量測Pi GPIO的輸出電流, 經查資料都說是 16mA, 今天量測GPIO輸出,
用三用電錶梯電流檔量測, 輸出電流是30m~40mA (在只有一根輸出的情況下)






2016年3月14日 星期一

Raspberry Pi應用-結合RS485工業控制通訊介面技術




Raspberry Pi 這一類的開源硬體問世以來, 基於其軟硬體開源的精神之下,降低了一般使用者與青少年 兒童學習電腦的門檻。讓資訊工程與電子軟硬體整合的學習 走出大學教育單位的象牙塔!

Raspberry Pi 以一個小型個人電腦的系統成功地整合了MCU 的GPIO功能。在多樣化的程式語言與豐富的函式庫支援下,開闢了一個異於傳統嵌入式系統開發的生態系,開發者們得以使用各式高階語言實作控制 GPIO 功能並透過溝通 I2C、SPI、UART 通訊介面而可以將整合各式功能IC。加上USB介面,讓開發者們得以輕易整合應用各類USB設備。從工業控制的角度來看Raspberry Pi 結合了GPIO功能之後,更將成為市場內的一個嶄新新元素。突破以往可程式化邏輯控制器(PLC)的功能限制,如缺乏高階語言支持、過於簡易的GUI(HMI)介面、硬體功能難以擴充、數學運算支援不足...等等,使得程式化控制整合各式裝置,變得更為輕易,而得以發展更為多樣化的工控系統。配合 UART 或 USB 介面,Raspberry Pi 輕易地擴充RS232、RS422、RS485 通訊介面,並配合開源 Modbus 通訊協定函示庫與 Raspberry Pi 本身對於網路通訊功能優異的支援,開發者們將可以利用各種程式語言來開發與拓展工業控制與大數據運算應用來達成工業4.0。

此次講座我們將分享 Raspberry Pi 如何整合 RS485 與 modbus RTU 通訊協定。 並利用 C 或 python 來做開發整合,輕易整合支援 RS485 RTU 通訊介面的裝置。配合 艾鍗科技研發的 Raspberry Pi Education Kit 無線通訊、藍牙通訊、液晶字元顯示模組、各類基礎GPIO功能,輕易模擬各式GPIO開關元件,讓你在桌上就可以練習工控系統開發。非常適合對於工控有興趣的 Maker族群快速上手、迅速整合各類工控裝置,專注於各類創意的發想。

2016年3月12日 星期六

用Raspberry Pi 完成一個智慧型六足機器人



用Raspberry Pi完成一個智慧型六足機器人。


六足機器人的基本結構,基本上包含機器人本體結構、Raspberry Pi 控制核心、馬達驅動板、電力系統。首先,針對機器人本體結構,每一足將有3顆伺服馬達,故六足共有18顆伺服馬達使六足機器人可以達到所有可能的走行模式。馬達驅動板的部份,我們以2個PCA9685模組(I2C界面具16通道PWM輸出)來進行18顆伺服馬達的控制。 在電力系統的部份,由於六足機器人在所有的伺服馬達同時動作時,消耗約4A電流,故我們串聯了3顆18650電池,以提供12.6v電壓及最大電流輸出6A作為主要的電力來源。系統中再以LM2596及LM1117進行不同的DC-DC轉換,以提供系統其他部件所需的5V及3.3V 工作電壓。另外,馬達驅動電源部份,使用了XL4015恆壓模組,使伺服馬達具備穏定電壓源而能夠更穏定靈活轉動。 最後,Raspberry Pi控制核心主要為軟體設計的部份,我們完成了一個低階的PWM馬達驅動程式與一個高階並行控制運動演算法,使六足機器人能進行基本的直線、橫移與旋轉等運動行為。

為使六足機器人更具智慧,我們加入了超音波感測器以進行障礙物偵側、也加入USB Webcam 使六足機器人具備即時影像串流的能力並且再其底部加入一顆伺服馬達使Webcam鏡頭能左右轉向。另外,也加入PIR人體感測器,一旦偵測到人時, Webcam會立即拍下畫面,並傳送照片檔到雲端相簿。


最後,我們設計一個 Android APP並以Wi-Fi通訊方式來控制六足機器運動控制、其中即時影像串流的能力以Android Webview來實現,而手機對雲端相簿的存取則Android volley來完成。


關鍵詞:六足機器人Raspberry Pi,PCA9685,I2C,PWM,Servo motor, LM2596,LM358,XL4015,Android APP,webview,volley



2016年3月3日 星期四

vi 沒有High light 程式語法



因為Raspberry Pi 沒有裝vim , 使得讀或寫程式沒有vim, 很不習慣

所以自行安裝囉~

sudo apt-get install vim

裝完後開啓C程式編輯, 程式語法沒有high light

自己手動編輯此檔/usr/share/vim/vimrc ,此檔為vim開啓時都會去讀取的設定參數


vim /usr/share/vim/vimrc 

" 開啓語法high light
syntax on
" 設定tab鍵等於4個空白鍵
set tabstop=4
" 設定tab鍵等於4個空白鍵
set nu


===常用命令整理===
/keyword       //向下搜尋keyword字串
n                    //向下搜尋前一个搜尋字串
N                   //向上搜尋前一个搜尋字串
set nu             //顯示行號
set nonu         //取消顯示行號
dd                 //刪除當前行
yy                //複製當前行
p                  //貼上
q!            //離開vi/vim
wq!         //存檔離開


2016年2月17日 星期三

Raspberry Pi for BME280



BME280, the precision sensor from Bosch, is soldered onto PCB. Not only the pressure and the temperature, this sensor can measure humidity.  It uses both I2C and SPI (supports 3-, 4-wire SPI) interface.


Specifications:
  • Supply Voltage: 1.8 - 3.3 V DC
  • Interface: I2C (up to 3.4MHz), SPI (up to 10 MHz)
Operational range:
  • Temperature: -40 to +85°C
  • Humidity: 0-100%
  • Pressure: 300-1100 hPa
Resolution:
  • Temperature: 0.01°C
  • Humidity: 0.008%
  • Pressure: 0.18Pa
Accuracy:
  • Temperature: +-1°C
  • Humidity: +-3%
  • Pressure: +-1Pa
I2C address
  • SDO LOW : 0x76
  • SDO HIGH: 0x77
Includes
  • Sensor module x 1
  • 1x7 male header x 1
DataSheet : 











2016年1月16日 星期六

什麼是Bare Metal 開發 ?


Bare Metal or Bare Machine 開發指的是在沒有OS作業系統的環境下來開發程式, 在這種環境下所開發出來的產物, 像是BIOS程式, Boot Loader 這類的程式。

藉由Bare Metal 開發, 我們可以學些什麼? 
  1. ARM 的CPU架構及組合語言
  2. ARM例外處理機制
  3. 從何處位址開機 ?  CPU initialize & DRAM controller initialize 
  4. How to Execute Code ? 如何撰寫Linker Script 
  5. SoC 與ARM 的關聯性, 
  6. 在沒有OS情況下要如何撰寫程式, 包含Application或 Chip Driver

相關文章:


arm bootloader