Linux2021. 2. 2. 12:35

2760p 노트북에 Smartcard 리더가 있으니 시도!

 

$ sudo apt-get install pcsc-tools pcscd

[링크 : https://wiki.archlinux.org/index.php/Smartcards]

 

pcscd 데몬이 없어서 생기는 문제

$ sudo pcsc_scan
SCardEstablishContext: Service not available.

 

카드 안 꼽고 실행하면 아래처럼 리더 종류만 나오고

$ pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Alcor Micro AU9560 00 00
 
Tue Feb  2 12:41:04 2021
 Reader 0: Alcor Micro AU9560 00 00
  Event number: 1
  Card state: Card removed, 

 

카드 꽂으면 아래와 같이 카드의 ATR(먼지 모름!) 을 읽어서 어떤 카드인지 추측을 한다.

-n 옵션을 주면 어떤 카드인지 추측을 안하고 값만 출력 함.

$ pcsc_scan -n
Using reader plug'n play mechanism
Scanning present readers...
0: Alcor Micro AU9560 00 00
 
Tue Feb  2 12:42:17 2021
 Reader 0: Alcor Micro AU9560 00 00
  Event number: 2
  Card state: Card inserted, 
  ATR: 00 00 00 00 00 00 00 00 00 00 00 00

 

'Linux' 카테고리의 다른 글

grep regexp match list  (0) 2021.02.22
리눅스 스마트 카드 api  (0) 2021.02.02
linux shared memory 확인 및 삭제  (0) 2021.01.22
linux 프레임 버퍼에 이미지, 동영상 재생하기  (0) 2021.01.21
sit1 인터페이스  (0) 2021.01.20
Posted by 구차니
하드웨어2021. 2. 2. 12:27

half duplex 방식으로 통신

[링크 : https://en.wikipedia.org/wiki/ISO/IEC_7816]

[링크 : https://www.smartcardsupply.com/Content/Cards/7816standard.htm]

 

윈도우 SDK 에도 포함되어 있네?

[링크 : https://docs.microsoft.com/en-us/windows/win32/api/winscard/]

 

[링크 : http://egloos.zum.com/moai82/v/4211968]

[링크 : https://iamkoo.tistory.com/54]

 

대충 봐서는 일반적인 UART 같긴한데

RX는 연결하지 않고 TX만으로 half-duplex 구성한다는게 신기하네?

The USART Smartcard mode supports asynchronous protocol Smartcards as defined in the ISO 7816-3 standard.
With the Smartcard mode enabled, the USART must be configured as:
• eight data bits plus parity;
• 0.5 or 1.5 stop bits.

[링크 : https://www.st.com/resource/en/application_note/dm00255231-smartcard-interface-based-on-stm32cube-firmware-stmicroelectronics.pdf]

'하드웨어' 카테고리의 다른 글

스피커 출력 watt dB 변환(?)  (0) 2017.10.26
WinDriver / jungo driver  (0) 2017.10.07
cr20xx 건전지... 호환성(?)  (0) 2017.09.10
4극 이어폰 리모컨 원리  (0) 2017.03.06
오홍.. 부품등급에 자동차도 있었어?  (2) 2017.02.22
Posted by 구차니

bazel로 빌드시에 어떤 옵션이 가능한지 보는 법 없나...

현재 발견(?) 한건

 

--config=monolithic

[링크 : https://www.tensorflow.org/lite/guide/ops_select]

 

c와 c++용 라이브러리 생성

bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so

[링크 : https://www.tensorflow.org/lite/guide/build_arm64?hl=ko]

 

$ bazel build tensorflow/examples/label_image

[링크 : https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow/+/refs/heads/master/tensorflow/examples/label_image/]

 

[ github.com/tensorflow/tensorflow/issues/38077]

[ github.com/tensorflow/tensorflow/issues/35590]

Posted by 구차니

toco랑은 또 다른건가..

보다 보니 tf.lite.Optimize.DEFAULT 라는 것도 새롭게 보이고

set_shape( ) 로 입력값이 변화하지 않도록 정해주는 것 같은데 무슨 차이인지 모르겠다 ㅠㅠ

 

!pip install tf-nightly
import tensorflow as tf

## TFLite Conversion
model = tf.saved_model.load("saved_model")
concrete_func = model.signatures[tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY]
concrete_func.inputs[0].set_shape([1, 300, 300, 3])
tf.saved_model.save(model, "saved_model_updated", signatures={"serving_default":concrete_func})
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir='saved_model_updated', signature_keys=['serving_default'])

converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]
tflite_model = converter.convert()

## TFLite Interpreter to check input shape
interpreter = tf.lite.Interpreter(model_content=tflite_model)
interpreter.allocate_tensors()

# Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

# Test the model on random input data.
input_shape = input_details[0]['shape']
print(input_shape)

[링크 : https://stackoverflow.com/questions/63325216/]

    [링크 : https://github.com/tensorflow/tensorflow/issues/42114#issuecomment-671593386]

 

+

희망을 가졌던 tf.lite.Optimize.DEFAULT는 quantization 관련 옵션 ㅠㅠ

[링크 : https://www.tensorflow.org/lite/performance/post_training_quantization]

[링크 : https://www.tensorflow.org/lite/performance/model_optimization]

[링크 : https://www.tensorflow.org/lite/api_docs/python/tf/lite/Optimize]

Posted by 구차니
게임/닌텐도 스위치2021. 1. 31. 19:58

언제 고장났더라?

아무튼.. 나에게는 제노블레이드 DE가 조이스틱 갈아먹는 게임이구나 ㅠㅠ

 

조립하던 중 걸쇠를 건드리긴 했는데 별일 없겠지 하고 조립하고 꽂으니

무선으로는 되는데 유선으로는 안되서 다시 분해!

헐.. 배터리랑 진동모터 사이에 커넥터가 살짝 빠지면 저런 일이 벌어지는구나..

 

찾아보니 한 달 만인가..

2020/12/12 - [게임/닌텐도 스위치] - 닌텐도 스위치 보호필름 교체 그리고 조이콘 조이스틱 수리

'게임 > 닌텐도 스위치' 카테고리의 다른 글

디아 스위치 구매  (0) 2021.09.30
제노블레이드 공략  (0) 2021.03.28
제노블레이드 크로니클스 de 엔딩  (0) 2021.01.08
조이콘 조이스틱 부품 분해  (0) 2020.12.14
조이콘 수리  (4) 2020.12.12
Posted by 구차니
embeded/raspberry pi2021. 1. 31. 15:18

dual cortex-m0

아두이노 나노를 노리는 타겟이것 같긴한데.. python 까지 되니 넘사벽이라고 해야하려나?

그러고 보니 아두이노도 cortex-m0가 있던거 같은데 아두이노 python도 찾아봐야겠다.

 

[링크 : http://www.raspberrypi.org/products/raspberry-pi-pico/]

[링크 : http://www.raspberrypi.org/products/raspberry-pi-pico/specifications/]

 

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 파이 서포트 규격  (0) 2021.04.20
fbset geometry, timing 수치  (0) 2021.02.19
bazel on rpi  (0) 2021.01.18
라즈베리에 GUI 환경 설치하기  (0) 2021.01.11
rpi youtube  (0) 2020.12.24
Posted by 구차니

오른발이 좀 가끔 움찔하게 아플때가 있어서 보니

설마했던 사마귀 재발 -_-

 

오늘 병원가서 확인해보니 맞다고. -_ㅠ

"아 고통의 시간이네요 ㅠㅠ"

의사도 피식 ㅠㅠ

 

 

아무튼 작고 생긴지 얼마 안되었고 1군데 뿐이라

이번에는 약도 없이 그냥 레이저로 지지고 옴

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

주말.. 쉬긴 개뿔  (0) 2021.02.13
피아노 사고싶다 ㅠㅠ  (0) 2021.02.12
문을 파괴한다!  (0) 2021.01.30
간만에 키즈카페 다녀옴  (0) 2021.01.23
오늘자 득템  (0) 2021.01.18
Posted by 구차니

어제인가 엊그제인가 화장실 문이 메롱해서

잘 안열리길래 주말에 바꾸려고 했는데

그 사이를 못 참고(?)

첫애가 화장실에 갖혔다!

 

열려고 별 쑈를 다 했으나 안되서

그냥 과감하게 영화에서 처럼(?) 발로 차서 파괴!

 

다행히 애가 말을 들어서 문뒤에 떨어져 있어서 다치진 않았는데

나가서 문고리 가격 알아보니 1.7만 ㅠㅠ 엉엉엉

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

피아노 사고싶다 ㅠㅠ  (0) 2021.02.12
고통의 시간.. ㅠㅠ  (2) 2021.01.30
간만에 키즈카페 다녀옴  (0) 2021.01.23
오늘자 득템  (0) 2021.01.18
UHD 프로그램이 별로 없네  (0) 2021.01.17
Posted by 구차니

변환한 모델 실행하는데 에러가 발생

정확하게는 모델을 불러오다 죽는게 아닌가 싶어서 해당 파일을 열어봄

$ ./label_image -i 2012060407491899196_l.jpg -l label -m go.tflite 
Loaded model go.tflite
resolved reporter
ERROR: tensorflow/lite/core/subgraph.cc BytesRequired number of elements overflowed.

세그멘테이션 오류 (core dumped)

 

음.. 593 라인 에러라는데

 

 563 namespace {
 564 // Multiply two sizes and return true if overflow occurred;
 565 // This is based off tensorflow/overflow.h but is simpler as we already
 566 // have unsigned numbers. It is also generalized to work where sizeof(size_t)
 567 // is not 8. 
 568 TfLiteStatus MultiplyAndCheckOverflow(size_t a, size_t b, size_t* product) {
 569   // Multiplying a * b where a and b are size_t cannot result in overflow in a
 570   // size_t accumulator if both numbers have no non-zero bits in their upper
 571   // half.
 572   constexpr size_t size_t_bits = 8 * sizeof(size_t);
 573   constexpr size_t overflow_upper_half_bit_position = size_t_bits / 2;
 574   *product = a * b;
 575   // If neither integers have non-zero bits past 32 bits can't overflow.
 576   // Otherwise check using slow devision.
 577   if (TFLITE_EXPECT_FALSE((a | b) >> overflow_upper_half_bit_position != 0)) {
 578     if (a != 0 && *product / a != b) return kTfLiteError;
 579   }
 580   return kTfLiteOk;
 581 }  
 582 }  // namespace
 583 
 584 TfLiteStatus Subgraph::BytesRequired(TfLiteType type, const int* dims,
 585                                      size_t dims_size, size_t* bytes) {
 586   TF_LITE_ENSURE(&context_, bytes != nullptr);
 587   size_t count = 1;
 588   for (int k = 0; k < dims_size; k++) {
 589     size_t old_count = count;
 590     TF_LITE_ENSURE_MSG(
 591         &context_,
 592         MultiplyAndCheckOverflow(old_count, dims[k], &count) == kTfLiteOk,
 593         "BytesRequired number of elements overflowed.\n");
 594   }
 595   size_t type_size = 0;
 596   TF_LITE_ENSURE_OK(&context_, GetSizeOfType(&context_, type, &type_size));
 597   TF_LITE_ENSURE_MSG(
 598       &context_, MultiplyAndCheckOverflow(type_size, count, bytes) == kTfLiteOk,
 599       "BytesRequired number of bytes overflowed.\n");
 600   return kTfLiteOk;
 601 }

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

tensorflow bazel build  (0) 2021.02.01
convert from tensorflow to tensorflow lite  (0) 2021.02.01
tensorflowlite build  (0) 2021.01.28
pb to tflite 변환 part 2...  (0) 2021.01.27
tensorflow netron  (0) 2021.01.27
Posted by 구차니
이론 관련/전기 전자2021. 1. 29. 11:13

아래에서 설명은 들어도 dBFS가 어떤 의미로 쓰이고 이 값이 멀 의미하는지 모르겠다.

dBFS는 디지탈 오디오 신호에 특히 더 중요하게 사용되는 개념입니다. 디지탈 오디오에서 신호는 숫자로 변환되고 다시 그 숫자가 실제의 아날로그 신호로 바뀝니다. 쉽게 생각해서 1부터 10까지 표현할 수 있는 디지털 오디오 시스템은 11보다 큰 크기의 아날로그 신호를 녹음할 수도 재생할 수도 없습니다. 자릿수를 넘어가면서 즉시 복구될 수 없는 클립핑이 생기는 것입니다. 

[링크 : http://audio-probe.com/documentation/db란-무엇인가/]

'이론 관련 > 전기 전자' 카테고리의 다른 글

Hall effect sensor  (0) 2021.06.22
emc2301 fan controller  (0) 2021.06.11
FFT와 고조파(harmonic)  (0) 2020.10.05
Audio Induction Loop  (0) 2020.09.21
quadrature sampling(I/Q signal)  (0) 2020.09.06
Posted by 구차니