Dyskusja użytkownika:Grucha: Różnice pomiędzy wersjami

Z RoboCity
Linia 69: Linia 69:
 
.. a wracając do zrzutu ekranu to po kolei:
 
.. a wracając do zrzutu ekranu to po kolei:
 
* w pierwszym '''print''' przed słowem ''serdecznie'' brakuje cudzysłowu i przez to python myśli, że ten ostatni cudzysłów rozpoczyna jakiś tekst i nie potrafi znaleźć jego końca -- stąd komunikat, że spotkał koniec linii (EOL, ''ang: end of line'') w czasie kiedy skanował stała tekstową i spodziewał się jej końca,
 
* w pierwszym '''print''' przed słowem ''serdecznie'' brakuje cudzysłowu i przez to python myśli, że ten ostatni cudzysłów rozpoczyna jakiś tekst i nie potrafi znaleźć jego końca -- stąd komunikat, że spotkał koniec linii (EOL, ''ang: end of line'') w czasie kiedy skanował stała tekstową i spodziewał się jej końca,
* w drugim przypadku zauważ, że dałeś '''\n''' przed cudzysłowem (fragment <code>print(\n'Witam was</code>); tutaj kłopot polega na tym, że jak tylko '''python''' zauważy znak '''\''' w kodzie (a ten był w kodzie skoro nie w środku tekstu) to zakłada, że ciąg dalszy tej linii został przeniesiony do następnej i nie spodziewa się żadnego innego znaku dalej; dlatego właśnie marudzi, że napotkał nieoczekiwany znak po markerze kontynuacji linii
+
 
 +
* w drugim przypadku zauważ, że dałeś '''\n''' przed cudzysłowem (fragment <code>print(\n'Witam was</code>); tutaj kłopot polega na tym, że jak tylko '''python''' zauważy znak '''\''' w kodzie (a ten był w kodzie skoro nie w środku tekstu) to zakłada, że ciąg dalszy tej linii został przeniesiony do następnej i nie spodziewa się żadnego innego znaku dalej; dlatego właśnie marudzi, że napotkał nieoczekiwany znak po markerze kontynuacji linii w nowym wierszu
 +
 
 
* tutaj po prostu zabrakło nawiasu na końcu, tego który zamykałby listę parametrów '''print''':  
 
* tutaj po prostu zabrakło nawiasu na końcu, tego który zamykałby listę parametrów '''print''':  
 
<pre>
 
<pre>

Wersja z 20:49, 23 cze 2016

Mój obraz został już chyba nagrany. Tylko na mojej płytce nie widać żadnego pliku ani obrazu, jak patrzyłem na właściwości uprawnień mojej płytki to jest chyba blokada na dostęp do plików.

Isj (dyskusja) 21:01, 13 cze 2016 (CEST)

Wygląd nagranej karty w gnome-disk-utility.png

Gratuluję pierwszej edycji w wiki!

Hmm... Czasem Menadżer plików nie zachowuje się "normalnie", ale takim ostatecznym testem może być użycie programu "dyski", czyli ikona w lewym górnym rogu ekranu i tam wpisać "dyski" -- interesuje nas program z ikoną dysku twardego i kluczem do przykręcania śrub. W tym programie karta SD z nagranym obrazem wygląda jak na obrazku po prawej.

Isj (dyskusja) 21:11, 13 cze 2016 (CEST)

Taka ciekawostka. Żeby uzyskać cały taki fragment jak powyżej z datą i własnym loginem nie trzeba wstawiać w treści długiego kodu jaki widać w edytorze strony

[[Użytkownik:Isj|Isj]] ([[Dyskusja użytkownika:Isj|dyskusja]]) 21:01, 13 cze 2016 (CEST)

Wystarczy 4 razy powtórzona tylda ~~~~. Przy zapisywaniu wprowadzonych zmian wiki podmieni te tyldy na datę i autora. Ten pomysł został właśnie wymyślony do stron dyskusji, gdzie często przydaje się od razu zobaczyć kto i kiedy odpisał (bez grzebania po historii edycji).

Isj (dyskusja) 22:35, 14 cze 2016 (CEST)

Wrzucam tutaj ten obrazek z Twoim komentarzem, żeby było łatwiej go znaleźć.

Sytuacja jest bardzie ciekawa dlatego że gdy mam podpiętą kartę pamięci do PC to w terminalu widać całkiem co innego niż wcześniej, a gdy wchodzę na Dyski to kartę normalnie widać i dalej nie można przesłać obrazu na kartę pamięci


Wszystko jasne :) Zauważ, że w poleceniu którego używasz masz wpisane urządzenie z numerem na końcu:

sudo dd bs=4M if=/home/grucha/Dokuments/Raspbian/raspbian.img of=/dev/sdf1

Tak jak mówiłem na boisku, nazwa z numerem na końcu to nazwa partycji na danym urządzeniu, a nie samego urządzenia. Czyli jeśli partycja nazywa się /dev/sdf1 to cała karta pamięci nazywa się /dev/sdf i na to urządznie trzeba zapisywać, żeby przekopiować raspbiana prawidłowo. Jak sam widziałeś, obraz raspbiana ma już w środku dwie partycje i kiedy kopiujesz go do /dev/sdf1, czyli partycji, zamiast do całej karty /dev/sdf, to powstaje trochę masło maślane: karta z partycją, w której siedzi obraz raspbiana z dwoma partycjami w środku.

Czyli jeśli partycja na karcie nadal będzie się zgłaszać jako /dev/sdf1, to polecenie dd powinno wyglądać tak:

sudo dd bs=4M if=/home/grucha/Dokuments/Raspbian/raspbian.img of=/dev/sdf

Jeszcze tylko wyjaśnię skąd mogło się wziąć /dev/sdf nagle. Być może pomyłkowo stworzyłeś sobie (tak jak ja na boisku) zwykły plik /dev/sdx (gdzie x to litera jaką wcześniej miała karta) i przez to "zablokowałeś" linuxowi możliwość wykorzystania tej nazwy dla karty. W takiej sytuacji system bierze następną wolną literę. Jeśli chcesz sprawdzić możesz napisać polecenie (najlepiej zanim włożysz kartę) ll /dev/sd* Ono wyświetli ze szczegółami wszystkie pliki w katalogu /dev, które zaczynają się od liter sd. Lista zawiera od prawej kolumnę z nazwą pliku, potem datą stworzenia, i w końcu rozmiarem. Pliki urządzeń mają bardzo niewielkie rozmiary (setki bajtów), natomiast jeśli jest tam skopiowany obraz raspbiana to będzie miał 4GB, a Ty będziesz wiedział, które nazwy przez ten plik są zablokowane i dlaczego karta pojawia się dopiero pod literą f.


Który wybrać program do prostego projektowania robota w 3D?

Który do projektowania 3d.png


Plik:Który do programowania 3d 2.png

Isj (dyskusja) 01:26, 23 cze 2016 (CEST)

Całkiem skutecznym, a jednocześnie znośnie skomplikowanym programem do projektowania rzeczy 3D jest FreeCAD. Przy czym z tego co widzę dokumentacja w języku polskim jest w trakcie tworzenia. Natomiast nie powinno to być problemem nie do rozwiązania. Zrobimy sobie sesję na stole do pingponga i pokażę Wam ogólne zasady projektowania w takich systemach. Na szczęście do zaprojektowania prostego podwozia wystarczy mniej więcej 5% możliwości FreeCADa i jeśli tylko zrozumiecie ogólną filozofię systemów CAD, to samo tworzenie projektu powinno być już tylko przyjemną zabawą w 3D.

Ciakwostką jest też to, że FreeCAD używa pythona jako wewnętrznego języka do pisania różnych zestawów instrukcji graficznych. W ten sposób nauka pythona może się także przydać i tutaj. Drugą ciekawostką jest to, że FreeCAD podobno potrafi używać Blendera jako zewnętrznego narzędzia do tworzenia profesjonalnych renderów zaprojektowanych modeli. Nie używałem tej opcji nigdy, ale jest to możliwe po odpowiedniej konfiguracji. Można więc na zakończenie projektowania pokusić się o wrzucenie modelu robota w jakiś niebanalny krajobraz.

Do programowania w pythonie na razie nie będziemy używali niczego bardziej wyszukanego niż zwykły edytor tekstu (np. gedit). Myślę, że dopóki programy będą poniżej tysiąca linijek, o wiele łatwiej będzie używać prostego narzędzia niż uczyć się jakiegoś większego środowiska programistycznego. Kiedy gedit przestanie wystarczać, z łatwością przesiądziecie się na coś większego.

Zacząłem już pisać wstęp do programowania w pythonie

Mam nowy problem w pisania w Pythonie

O co chodzi.png

I czy nagra albo napisze Pan coś o tym programie do modelowania 3d freecad? Bo tak trudno ogarnąć o co w tym chodzi?


Isj (dyskusja) 21:18, 23 cze 2016 (CEST)

Dla wygody (mniej pracy niż wrzucanie zrzutu ekranu) jeśli potrzebujesz skopiować tekst z okna terminala możesz go zaznaczyć myszką i użyć kombinacji klawiszy Shift-Ctrl-C. Trzeba dodać Shift bo kombinacja Ctrl-C, której normalnie używa się do kopiowania jest w terminalu zarezerwowana do przerywania programu. Potem wklejając ten tekst tutaj możesz go otoczyć znacznikami <pre> ...tutaj kod... </pre> co spowoduje, że wyświetli się w taki sposób

 
...tutaj kod... 

Druga rzecz, to jeśli chciałbyś, żeby każdy Twój wpis w dyskusji zaczynał się od takiej daty i godziny jak moje odpowiedzi, wstaw linijkę z 4 razy powtórzoną tyldą ~~~~ na początku. Przy zapisywaniu zmian wiki podmieni te tyldy na datę i autora.


.. a wracając do zrzutu ekranu to po kolei:

  • w pierwszym print przed słowem serdecznie brakuje cudzysłowu i przez to python myśli, że ten ostatni cudzysłów rozpoczyna jakiś tekst i nie potrafi znaleźć jego końca -- stąd komunikat, że spotkał koniec linii (EOL, ang: end of line) w czasie kiedy skanował stała tekstową i spodziewał się jej końca,
  • w drugim przypadku zauważ, że dałeś \n przed cudzysłowem (fragment print(\n'Witam was); tutaj kłopot polega na tym, że jak tylko python zauważy znak \ w kodzie (a ten był w kodzie skoro nie w środku tekstu) to zakłada, że ciąg dalszy tej linii został przeniesiony do następnej i nie spodziewa się żadnego innego znaku dalej; dlatego właśnie marudzi, że napotkał nieoczekiwany znak po markerze kontynuacji linii w nowym wierszu
  • tutaj po prostu zabrakło nawiasu na końcu, tego który zamykałby listę parametrów print:
print(   '\nWitam was %s %s tutaj\n' % ('bardzo', 'serdecznie')    )

     ^                                 ^                      ^    ^   
      \                                 \                    /    /  
       \                                 lista tekstów dla %     /
        \                                  i jej nawiasy        / 
         \                                                     /
          \                                                   /
           \                                                 /
             otwierający i zamykający nawias od funkcji print

Tak, tego FreeCADa muszę Wam wstępnie pokazać. Może teraz w czasie weekendu.