qshinoの日記

Powershell関係と徒然なこと

Windows SoftAP

Windowswifi アクセスポイントに

Windows 8.1から、softap機能が使える。

設定の流れ

  1. soft AP 設定
  2. ネットワーク共有設定

SoftAP設定

下記設定とする。

  • SSID : tanaka
  • pw : taro

  • cmd promptを管理者権限で起動

  • netsh wlan set hostednetwork mode=allow
  • netsh wlan set hostednetwork ssid=tanaka key=taro keyusage=persistent
  • netsh wlan start hostednetwork

  • AES、WPA2-PSK

ネットワーク共有設定

  1. 有線LANを右クリック
  2. 共有設定でWifiAPを追加

Linuxwifi AP

sudo apt-get install hostapd

sudo vi /etc/hostapd/hostapd.conf

hostapd.conf

#インタフェース名 
interface=wlan0 

#無線LANアダプタのドライバ driver=nl80211 

#クライアントに表示される無線LANアクセス・ポイント(SSID)名 ssid=MYAP 
hw_mode=g 
channel=7 
wpa=2 

# WPA2 
#認証パスワード wpa_passphrase=wifipasswd
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

sudo vi /etc/default/hostapd

DAEMON_CONF="/etc/hostapd/hostapd.conf"

stop networkmanager

sudo stop network-manager
echo "manual" | sudo tee /etc/init/network-manager.override 

dhcpd

sudo apt-get install isc-dhcp-server

sudo vi /etc/dhcp/dhcpd.conf

  • dhcpd.conf
default-lease-time 600; 
max-lease-time 7200; INTERFACES="wlan0"; 
option domain-name ""; 
max-lease-time 7200; 
log-facility local7; 

subnet 10.0.0.0 netmask 255.255.255.0 
{ 
    range 10.0.0.10 10.0.0.20; 
    option routers 10.0.0.1; 
    option domain-name-servers 8.8.8.8; 
}

enable ip forward

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

nat

iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o eth0 -j MASQUERADE 

iptables -A FORWARD -s 10.0.0.0/24 -o eth0  -j ACCEPT

if up

ifconfig wlan0 10.0.0.1 netmask 255.255.255.0 up

start service

  • service isc-dhcp-server start
  • service hostapd start

ref

Windows SoftAP

https://www.wifi-lesson.net/softap.html

Linux hostapd

https://qiita.com/Mokkeee/items/b8a4a092c6d1bada2beb

Raspberry Pi &Jetson でロボット

robot

Arduino servo

https://sh4869.hatenablog.com/entry/2014/04/16/223040

ブラシレスモーター pi

https://shizenkarasuzon.hatenablog.com/entry/2019/03/09/171120

Jetson nano pca9865

Default I2cバスが見つからない所を修正。

https://www.google.com/amp/s/kokensha.xyz/jetson/jetson-nano-pca9685-i2c-error-resolution/amp/

サーボ付カメラ台

記事

https://www.hiro345.net/blogs/hiro345/archives/17758.html

https://www.amazon.co.jp/SG90%E3%82%B5%E3%83%BC%E3%83%9C%E7%94%A8-%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88-2%E8%BB%B8%E3%82%A2%E3%83%B3%E3%82%B0%E3%83%AB-%E7%A9%BA%E6%92%AE%E3%81%AB%E3%82%82-%E3%82%B5%E3%83%BC%E3%83%9C2%E5%80%8B/dp/B01LAHF5AQ

ref

5軸ロボット

http://pongsuke.hatenablog.com/entry/2017/01/06/104802

PCA9685 + pi

https://kokensha.xyz/electronics/raspberrypi-python-pca9685-easily-drive-multiple-servos/amp/

タミヤ カムプログラム ロボット

http://bit-trade-one.co.jp/blog/20171010/

4軸ロボットアーム

サーボが弱い?

https://m.banggood.com/ja/DIY-4DOF-Robot-Arm-4-Axis-Acrylic-Rotating-Mechanical-Robot-Arm-With-Arduino-UNO-R3-4PCS-SG90-Servo-p-1247215.html?rmmds=detail-bottom-alsolike

本格的

http://robotics.tokyo/ja/products/torobo_arm/

ドローン制御中

https://qiita.com/shigeru-yokochi/items/746a520b6c0c00243993#_reference-f60fca7a4113a15e13e8

Jetson TX2 JetPack 4.2 kernel compile

Build Jetson TX2 R32.1 kernel

下記は検証用の下書き。検証後に修正の可能性あり。

Downoad packages

  1. ドライバパッケージ
  2. ソースパッケージ
  3. サンプルルート
  4. ツールチェイン

をダウンロードする。

Extract pkg

top=$PWD  # here is top

# 設定

expand=1 # pkgを展開する場合。
mproc=2 # makeのprocess数

# 定数設定

spkg=JAX-TX2-public_sources.tbz2
dpkg=Jetson_Linux_R32.1.0_aarch64.tbz2
rpkg=Tegra_Linux_Sample-Root-Filesystem_R32.1.0_aarch64.tbz2

kpkg=kernel_src.tbz2 # in $spkg
kk=kernel/kernel-4.9
l4=Linux_for_Tegra
ps=public_sources

ccc=$top/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- 

out=$top/$kk/build 
mout=$top/$l4/rootfs/

boot=$out/arch/arm64/boot
dtb=tegra186-quill-p3310-1000-c03-00-base.dtb
dtb_xavier=tegra194-p2888-0001-p2822-0000.dtb

# expand packages

if [ "x$expand" == "x1" ]  ; then
  tar jxvf $spkg
  tar jxvf $ps/$kpkg
  tar jxvf $dpkg
  tar jxvf $rpkg -C rootfs
fi

build kernel

cd $kk

export O=$out
export INSTALL_MOD_PATH=$mout
export ARCH=arm64
export CROSS_COMPILE=$ccc

# get default config
make tegra_defconfig 

# edit config
make menuconfig 

# to check modifications if you like
# make oldconfig

# if necessary
# make prepare
# make modules_prepare

make -j${mproc}

# kernel modules dtbsを個別ビルドしたい場合は、下記にて。

# build kernel
# make -j${mproc} Image 

# build dtbs
# make -j${mproc} dtbs 

# build modules
# make -j${mproc} modules 

# install modules
make modules_install

External module

mdir=外部モジュール
# mdir=$top/kernel/nvidia

pushd $mdir
make -C $kk -M $mdir
popd

Install to dpkg dir

cd $top/$l4

# copy kernel
cp $boot/Image kernel/

# copy dtb
cp $boot/dts/$dtb kernel/dtb

# pack module
ks=kernel_supplements.tbz2
tar --owner root --group root -cjf kernel/$ks  lib/modules -C $mout

# build binaries
./apply_binaries.sh

Flash

# after tx2 enter frb mode
sudo ./flash.sh jetson-tx2 mmcblk0p1 

ダウンロード toolchain and source package

topが定義された後に下記のコード。

cd $top

ツールチェインのダウンロード

wget http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz | tar Jxf -

ソースパッケージ

wget https://developer.download.nvidia.com/embedded/L4T/r32_Release_v1.0/jax-tx2/BSP/JAX-TX2-public_sources.tbz2

サンプルルート

tbd

ドライバパッケージ

tbd

refs

https://developer.ridgerun.com/wiki/index.php?title=Compiling_Jetson_TX2_source_code_L4T_32.1

make oldconfig

https://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-in-the-linux-kernel-makefile

linux shell sourceと . の違い

source . とは

linux shell コマンドの . は、カレントシェルでファイルを実行し、環境変数等の設定に使われる。

sourceコマンドも同じ機能だが、bash, zsh, tcsh 等で実装された。

debian/ashではsourceは実装されていない。

但し、centos の shはbashにリンクされており、sourceが使える。

対応一覧

sh  . source
old sh ash dash o x
bash zsh tcsh o o

. の方が汎用的であり、スクリプトでは . , コマンドラインでは打ち間違い対策でsourceとするなどがよいかも知れない。

使い分け

ローカルに使用する場合や、bssh等をsourceを実装したshellを指定してスクリプトを作成する場合は、sourceを使っても問題ないが、sh 指定して作成したスクリプトを展開する場合は、. を使う。

Jetson xavier gpio

xavier gpio

f:id:qshino:20190706120432j:plain

functions

Function #pins Note
I2C 4(2x2) scl,sda x 2set
SPI 5 sck, miso,mosi,cs0/1
I2S 5 din/dout,fs,sck,mclk
CAN 4 in,out x2
UART 4 rts, cts, rx,tx
PWM 3 pwm
DMIC 2 Clk, in
GPIO 1 40Header
GV 12 5Vx2, 3.3Vx2, GNDx8

Xavier nano 違い

Func Xavier Nano #pins xavier - nano
SPI 1 set 2 set -5
CAN 2 set / +4 none +4
PWM 3 1 +2
GPIO 1 2 -1
DMIC 1set None +2
LCD none 1 -1
Cam none 1 -1

ref

xavier can

https://medium.com/@ramin.nabati/enabling-can-on-nvidia-jetson-xavier-developer-kit-aaaa3c4d99c9

raspi gpio

https://tool-lab.com/2013/12/raspi-gpio-controlling-breadboard-2/

raspi gpio pin assign

https://raspberry-pi.ksyic.com/bypass/files/GPIO.svgz#Alt0

nano i2c

http://www.neko.ne.jp/~freewing/raspberry_pi/nvidia_jetson_nano_gpio_i2c/

nano led

http://www.neko.ne.jp/~freewing/raspberry_pi/nvidia_jetson_nano_gpio_blink_led_switch/