Author Topic: Arduino Micro + clickermann. Обход любых защит. DLL для общения с контроллером!!  (Read 8553 times)

0 Members and 1 Guest are viewing this topic.

inilim

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Аналог Micro с али стоит 340 р.
Буду рад ссылке)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Вот
https://aliexpress.ru/item/32836616428.html?_ga=2.49378543.877831236.1633931742-754631008.1628835162&sku_id=65077718692&spm=a2g39.orderlist.0.0.202c4aa64oUzxG

Я заказывал не только этот. И с впаянными ногами и чуть другой по виду.
Этот стоил 182, второй 422. Сейчас они 361 и 700
https://aliexpress.ru/item/32676998690.html?_ga=2.49845359.877831236.1633931742-754631008.1628835162&item_id=32676998690&sku_id=10000001285896058&spm=a2g39.orderlist.0.0.202c4aa64oUzxG

Если б я ещё помнил на какой пробовал, цены бы не было  :D


Думаю там много вариантов
https://aliexpress.ru/item/32849563958.html?_evo_buckets=165608%2C165598%2C188872%2C176818%2C194277&_t=gps-id%3AaerPdpSubstituteRcmd%2Cscm-url%3A1007.33958.210224.0%2Cpvid%3A7f3b52a9-a060-4697-9ed6-dd0de4784eea%2Ctpp_buckets%3A21387%230%23233228%234&gps-id=aerPdpSubstituteRcmd&item_id=32849563958&pvid=7f3b52a9-a060-4697-9ed6-dd0de4784eea&scm=1007.33958.210224.0&scm-url=1007.33958.210224.0&scm_id=1007.33958.210224.0&sku_id=10000000445779851&spm=a2g2w.detail.1000060.1.54a43cd1ROvmyM

https://aliexpress.ru/item/32768308647.html?_ga=2.83865695.877831236.1633931742-754631008.1628835162&_t=gps-id%3ApcOrderList%2Cscm-url%3A1007.30114.213637.0%2Cpvid%3A0b629c0d-3505-4357-ae35-e58b8cafe8b2%2Ctpp_buckets%3A668%232846%238113%231998&gps-id=pcOrderList&item_id=32768308647&pdp_ext_f=%7B%22sceneId%22%3A%2220114%22%2C%22sku_id%22%3A%2212000024349272661%22%7D&pvid=0b629c0d-3505-4357-ae35-e58b8cafe8b2&scm=1007.30114.213637.0&scm-url=1007.30114.213637.0&scm_id=1007.30114.213637.0&sku_id=12000024349272661&spm=a2g39.orderlist.rcmd.1.202c4aa6JuMzxa
« Last Edit: October 11, 2021, 05:19:12 PM by Vint »


inilim

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Благодарю, закажу оба варианта, кстати программировать аналогично как и arduino?

Bereza

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Ездил на радиорынок за ардуинкой. Из выбора были Микро и Нано. Микра 500 р. Нана - 400.  Микро, вся, с обеих сторон - колючая каракатица. Нано чистая, тонкая,  без лишнх напаек, они  в пакетике россыпью, как раз бы удобно в корпус от флешки но как написано тут - бесполезна. Спросил на всякий случай, какие, новые без скетчей, в диспетчере устройств видятся как клавиатура с мышью, и по глазам понял что лучше бы не спрашивал))) Поборовшись с жабой, решил взять обе, вдруг  и вторая куда нибудь сгодится.
Дома оказалось, что под Микру, древнего кабеля с мини ЮСБи нет. У Наны разьем более свежий - Микро-ЮСБ, шнур нашелся и фигась себе - Нана оказалась Леонардой, подвезло)))

Вопрос такой  -  Arduino_mouse_keyboard.cms неплохо работает, хоть и тормозит немного, но почему при вытащенной ардуинке ничего обратно в скрипт не возвращает а висит и ждет когда рак свистнет? Очень не удобно.
Хотелось сделать чтобы при вытаскивании шнура, скрипт не прерывался а переходил на обычную работу и благополучно завершался.
Code: (clickermann) [Select]
#include "Arduino_mouse_keyboard.cms"

// подпрограмма обязательно выше вызова
 
SUB(mouse, $IN_X, $IN_Y, $mouse, $Razb_X, $Razb_Y)
 
IF(($mouse = 11) or ($mouse = 12))
   $MOVE_END_X=$IN_X + rnd(rnd(-1*$Razb_Y, 0),rnd(0, $Razb_Y))
   $MOVE_END_Y=$IN_Y + rnd(rnd(-1*$Razb_Y, 0),rnd(0, $Razb_Y))
ELSE
   $MOVE_END_X=$IN_X + rnd(rnd(-1*$Razb_X, 0),rnd(0, $Razb_X))
   $MOVE_END_Y=$IN_Y + rnd(rnd(-1*$Razb_Y, 0),rnd(0, $Razb_Y)) 
END_IF
 
//-------------------------------------------------------
   $MOVE_SPEED = 1  // множитель скорости
   $MOVE_Start_X = $_xmouse  // Считать текущую  X
   $MOVE_Start_Y = $_ymouse  // Считать текущую  Y
   $MOVE_X = $MOVE_Start_X
   $MOVE_Y = $MOVE_Start_Y
 
   // Расстояние между начальной и конечной точками:
   $dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
 
   $MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
 
   IF($MOVE_SPEEDVAR < 1)
      $MOVE_SPEEDVAR = 1
   END_IF
 
   $MOVE_step=($dist-1)/$MOVE_SPEEDVAR
   $MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
   $MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
 
   FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
      $MOVE_X = $MOVE_X + $MOVE_X_step
      $MOVE_Y = $MOVE_Y + $MOVE_Y_step
     
      // Промежуточная точка с рандомом:
     
      $MOVE_X_ = ROUND($MOVE_X,0)+RND(-5,5)
      $MOVE_Y_ = ROUND($MOVE_Y,0)+RND(-5,5)

      micro_move($MOVE_X_, $MOVE_Y_)
     
      IF($_return1 != 5)  // Если Ардуино выключено то:   
         MOVE($MOVE_X_, $MOVE_Y_)
      END_IF

      WAITMS(1)
     
   END_CYC
   
      // Конечная точка:

      micro_move($MOVE_END_X, $MOVE_END_Y)
     
IF($_return1 != 5)  // Если Ардуино выключено то:
         move($MOVE_END_X, $MOVE_END_Y)
      END_IF
         
//-------------------------------------------------------
 
SWITCH($mouse)
CASE(0)
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(1)
micro_lclick($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
print("- Без Ардуино -")
LCLICK($MOVE_END_X, $MOVE_END_Y)   // Левый клик
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))


CASE(2)
micro_rclick($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
RCLICK($MOVE_END_X, $MOVE_END_Y)   // Правый клик
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(3)
micro_mclick($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
MCLICK($MOVE_END_X, $MOVE_END_Y)   //  Средний клик
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(4)
micro_dblclick($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
DBLCLICK($MOVE_END_X, $MOVE_END_Y) // Двойной левый
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(5)
micro_ldown($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
LDOWN($MOVE_END_X, $MOVE_END_Y)    // Зажать левую
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(6)
micro_lup($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
LUP($MOVE_END_X, $MOVE_END_Y)      // Отпустить левую
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(7)
micro_rdown($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
RDOWN($MOVE_END_X, $MOVE_END_Y)    // Зажать правую
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(8)
micro_rup($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
RUP($MOVE_END_X, $MOVE_END_Y)      //  Отпустить правую
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(9)
micro_mdown($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
MDOWN($MOVE_END_X, $MOVE_END_Y)    // Зажать среднюю
END_IF
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(10)
micro_mup($MOVE_END_X, $MOVE_END_Y)
IF($_return1 != 5)
END_IF
MUP($MOVE_END_X, $MOVE_END_Y)     // Отпустить среднюю
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))

CASE(11)
micro_wheeldown($Razb_X)
WAITMS(200+rnd(rnd(-47,0),rnd(0,37)))
IF($_return1 != 5)
FOR($i=0, $i < $Razb_X)
WHEELDOWN                              // Колесико вниз
WAITMS(200+rnd(rnd(-47,0),rnd(0,37)))
END_CYC
END_IF


CASE(12)
micro_wheelup($Razb_X)
WAITMS(200+rnd(rnd(-47,0),rnd(0,37)))
IF($_return1 != 5)
FOR($i=0, $i < $Razb_X)
WHEELUP                               // Колесико вверх
WAITMS(200+rnd(rnd(-47,0),rnd(0,37)))
END_CYC
END_IF

END_SWITCH
 
$mouse=0
$Razb_X=0
$Razb_Y=0
 
END_SUB
 
//-------------------------------------------------------
 
//  SUB(mouse, $IN_X, $IN_Y, $mouse, $Razb_X, $Razb_Y)
 
// 1: $IN_X - координата х
// 2: $IN_Y - координата Y
// 3: $mouse -  действия мыши в конечной точке
 
// $mouse = 0     нет действия
// $mouse = 1  LCLICK      (Левый клик)
// $mouse = 2  RCLICK      (Правый клик)
// $mouse = 3  MCLICK      (Средний клик)
// $mouse = 4  DBLCLICK    (Двойной левый клик)
// $mouse = 5  LDOWN       (Зажать левую)
// $mouse = 6  LUP         (Отпустить левую)
// $mouse = 7  RDOWN       (Зажать правую)
// $mouse = 8  RUP         (Отпустить правую)
// $mouse = 9  MDOWN       (Зажать среднюю)
// $mouse = 10 MUP         (Отпустить среднюю)
// $mouse = 11 WHEELDOWN   (Колесико вниз)
// $mouse = 12 WHEELUP     (Колесико вверх)
 
//  Функции при  $mouse от 1 до 10
// 4: $Razb_X - разброс х
// 5: $Razb_Y - разброс Y
 
//  Функции при $mouse = 11 или 12
// 4: $Razb_X - число строк колесиком
// 5: $Razb_Y - разброс х  и  разброс Y
 
//------------------    ТЭСТ    --------------------
//                Рисуем в Паинте
 
//GOTO(mous) // Пропускаем зачистку холста
 
// Очищаем холст
 
mouse(140,110,1,8,8) // кликаем на выделение
mouse(10,200,5,0,0) // Верхний угол рамки выделения
mouse(1000,970,6,0,0) // Нижний угол рамки выделения
mouse(500,250,2,0,0)  // Открываем меню
WAITMS(100)
mouse(560,267,1,0,0) // стираем  старое
WAITMS(100)
 
mous:
mouse(290,96,1,5,5)   // включаем карандаш

FOR($i=0, $i < 5)     // Рисуем 5 раз
 
// рисуем треугольник
 
mouse(100,300,5,5,8)   // точка 1 c зажимом
mouse(920,300,0,5,8)   // точка 2 
mouse(510,900,0,100,5) // точка 3
WAITMS(100)
mouse(100,300,6,5,8)   // точка 1 c отпуском
 
// рисуем прямоугольник
 
mouse(300,350,5,5,8)  // точка 4 c зажимом
mouse(720,350,0,5,8)  // точка 5 
mouse(720,530,0,5,8)  // точка 6
mouse(300,530,0,5,8)  // точка 7
mouse(300,350,6,5,8)  // точка 4 c отпуском
WAIT(1)
END_CYC
 
HALT
 

Mangobei

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Это потрясающе. Никогда не думал, что с помощью кликера возможно взаимодействовать с микроконтроллером.
Спасибо!